我有以下Python 3.10
脚本,根据MatPlotLib 3D Scatter tutorial,使用MatPlotLib
生成简单的3D散点图:
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(projection='3d')
X = [1, 3, 2]
Y = [1, 1, 2]
Z = [2, 2, 2]
ax.scatter(X, Y, Z)
ax.set_xlim(0, 4)
ax.set_ylim(0, 3)
ax.set_zlim(1.9, 2.1)
ax.set_xlabel('X Axis')
ax.set_ylabel('Y Axis')
ax.set_zlabel('Z Axis')
plt.show()
上面的脚本按预期工作,我得到了正确的输出:
然而,我想知道是否有可能连接和填充分散点,创建各种“面”,并为它提供颜色。在这种情况下,它将是这样的:
我浏览了其他的MatPlotLib
教程,特别是3D Surface Colormap图和3D Surface Solid Color图,但是我很困惑它们是如何实现的。
从我尝试运行示例所收集到的信息来看,Z轴数据集是一个多维数组(如果我只是提供了一个单一的列表或np数组,interperter会抛出一个错误)。我真的不明白为什么Z轴数据集需要是一个多维数组,我可以想象,实际的数据颜色是通过color
参数提供给scatter
函数调用的。
我所尝试做的事情在MatPlotLib
中是否可行?是否有更好的方法来实现这一点?
感谢阅读我的帖子,任何指导都是赞赏!
1条答案
按热度按时间6yt4nkrj1#
您正在搜索的内容是
plot_trisurf
: