在python中绘制填充多边形

ahm*_*ari 16 python matplotlib

我有两个矩阵Tri,并V为我要绘制多边形面(NX3)和顶点(MX3).有没有matplotlib(或任何替代)的方式来做到这一点?类似于Matlab命令的东西

patch('faces',Tri,'vertices',V,'facecolor', 
      'flat','edgecolor','none','facealpha',1)
Run Code Online (Sandbox Code Playgroud)

Hoo*_*ked 31

我不完全确定matlab是做什么的,但你可以使用绘制多边形matplotlib.patches.Polygon.改编自文档中的示例:

import numpy as np

import matplotlib.pyplot as plt
import matplotlib
from matplotlib.patches import Polygon
from matplotlib.collections import PatchCollection

fig, ax = plt.subplots()
patches = []
num_polygons = 5
num_sides = 5

for i in range(num_polygons):
    polygon = Polygon(np.random.rand(num_sides ,2), True)
    patches.append(polygon)

p = PatchCollection(patches, cmap=matplotlib.cm.jet, alpha=0.4)

colors = 100*np.random.rand(len(patches))
p.set_array(np.array(colors))

ax.add_collection(p)

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

在此输入图像描述