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

Vik*_*gav 3 python matplotlib

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

import matplotlib.pyplot as plt
import matplotlib.patches as patches
fig2 = plt.figure()
ax2 = fig2.add_subplot(111, aspect='equal')
ax2.add_patch(
    patches.RegularPolygon(
        (0.5, 0.5),
        3,
        0.2,
        fill=False      # remove background
    )
)

fig2.savefig('reg-polygon.png', dpi=90, bbox_inches='tight')
plt.show()   
Run Code Online (Sandbox Code Playgroud)

虽然这会产生一个三角形,但我还没有找到任何方法来产生梯形平行四边形
是否有任何命令可以执行此操作?或者我可以将正多边形转换为其他形状之一吗?

Imp*_*est 5

您需要使用 amatplotlib.patches.Polygon并自己定义角。

import matplotlib.pyplot as plt
import matplotlib.patches as patches

fig = plt.figure()
ax = fig.add_subplot(111, aspect='equal')

# Parallelogram
x = [0.3,0.6,.7,.4]
y = [0.4,0.4,0.6,0.6]
ax.add_patch(patches.Polygon(xy=list(zip(x,y)), fill=False))

# Trapez
x = [0.3,0.6,.5,.4]
y = [0.7,0.7,0.9,0.9]
ax.add_patch(patches.Polygon(xy=list(zip(x,y)), fill=False))

plt.show()  
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明