透明度的Matplotlib Poly3DCollection图形

透明度的Matplotlib Poly3DCollection图形

要在Matplotlib中绘制透明的Poly3DCollection图形,可以执行以下步骤 –

  • 设置图形大小并调整子图之间和周围的填充
  • 创建一个新的图形或激活一个现有图形。
  • 添加一个 ‘~.axes.Axes’ 到图形中作为一个带有 3d投影 的子图安排的一部分。
  • 创建 xyz 的数据点。
  • 创建一个顶点列表。
  • xyz 的数据点转换为元组的压缩列表。
  • 获取 Poly3d的实例列表。
  • 使用 add_collection3d() 方法将3D集合对象添加到绘图中。
  • 关闭坐标轴。
  • 使用 show() 方法显示图形。

示例

from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d.art3d import Poly3DCollection, Line3DCollection

plt.rcParams ["figure.figsize"] = [7.50,3.50]
plt.rcParams ["figure.autolayout"] = True

fig = plt.figure()

ax = fig.add_subplot(111, projection='3d')

x = [0, 2, 1, 1]
y = [0, 0, 1, 0]
z = [0, 0, 0, 1]

vertices = [[0, 1, 2], [0, 1, 3], [0, 2, 3], [1, 2, 3]]
tupleList = list(zip(x, y, z))
poly3d = [[tupleList[vertices[ix][iy]]
   for iy in range(len(vertices[0]))]
   for ix in range(len(vertices))]

ax.scatter(x, y, z)
ax.add_collection3d(Poly3DCollection(poly3d, facecolors='w', linewidths=1, alpha=0.5))
ax.add_collection3d(Line3DCollection(poly3d, colors='k', linewidths=2, linestyles='--'))

plt.axis('off')

plt.show()

输出

透明度的Matplotlib Poly3DCollection图形

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程