如何使用matplotlib在python中制作梯形和平行四边形

时间:2017-04-04 10:43:05

标签: python matplotlib

我尝试了以下方法来生成正多边形:

{{1}}

虽然这产生了一个三角形,但我没有找到任何方法来产生一个梯形一个平行四边形
有没有命令要这样做?或者我可以将正多边形转换为其他形状之一吗?

3 个答案:

答案 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

enter image description here

答案 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

说明了如何执行此操作