我尝试了以下方法来生成正多边形:
{{1}}
虽然这产生了一个三角形,但我没有找到任何方法来产生一个梯形和一个平行四边形。
有没有命令要这样做?或者我可以将正多边形转换为其他形状之一吗?
答案 0 :(得分:4)
您需要使用 <section class="content">
<div class="row">
<div class="col-md-3">
</div>
<div class="col-md-6">
<div class="box box-warning">
<div class="box-header with-border">
<h3 class="box-title">Update User</h3>
</div>
<div class="box-body">
<%= form_for @user do |f| %>
<div class="form-group">
<label>First Name</label>
<%= f.text_field :first_name, :required => 'required',:class => 'form-control' %>
</div>
<div class="form-group">
<label>Tags</label>
<%= f.fields_for :tags do |user_tag| %>
<%= user_tag.select :name, User.find_by(id: params[:id]).tags.collect{|tag| [tag.name,tag.id]} ,{:prompt => "--select state--"},:class => 'form-control',multiple: true %>
<% end %>
</div>
<div class="box-footer">
<%= f.submit 'Submit',class: 'btn btn-primary' %>
</div>
<%end %>
</div>
</div>
</div>
</div>
</section>
并自行定义角落。
matplotlib.patches.Polygon
答案 1 :(得分:1)
一种简单的方法是创建列表列表作为多边形的终点(平行四边形/梯形)并绘制(或者更确切地描绘)它们。
import matplotlib.pyplot as plt
import matplotlib.patches as patches
fig2 = plt.figure()
ax2 = fig2.add_subplot(111, aspect='equal')
points = [[0.2, 0.4], [0.4, 0.8], [0.8, 0.8], [0.6, 0.4], [0.2,0.4]] #the points to trace the edges.
polygon= plt.Polygon(points, fill=None, edgecolor='r')
ax2.add_patch(polygon)
fig2.savefig('reg-polygon.png', dpi=90, bbox_inches='tight')
plt.show()
另请注意,您应使用Polygon
代替RegularPolygon
。
答案 2 :(得分:0)
您还可以简单地使用matplotlib plot()函数,在其中将要绘制的任何形状的边缘点作为x和y参数放置。这是一种“样条”方式。 in this answer
说明了如何执行此操作