如何在 matplotlib 中做这样的事情,但不是用点而是用表面?(我有点坐标)
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
#X = ...
#Y = ... Some coordinates points from file it is list
#Z = ...
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(X, Y, Z, c='r')
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')
plt.show()
Run Code Online (Sandbox Code Playgroud)
Bas*_*sen -2
您必须使用对象plot_surface
中的命令ax
。我将展示我自己的绘图库中的代码片段,您只需根据需要重构它即可。然而,这个(或高度相似的)问题之前已经被问过(例如matplotlib 中的曲面图)。
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
def surface_plot(X,Y,Z,**kwargs):
""" WRITE DOCUMENTATION
"""
xlabel, ylabel, zlabel, title = kwargs.get('xlabel',""), kwargs.get('ylabel',""), kwargs.get('zlabel',""), kwargs.get('title',"")
fig = plt.figure()
fig.patch.set_facecolor('white')
ax = fig.add_subplot(111, projection='3d')
ax.plot_surface(X,Y,Z)
ax.set_xlabel(xlabel)
ax.set_ylabel(ylabel)
ax.set_zlabel(zlabel)
ax.set_title(title)
plt.show()
plt.close()
Run Code Online (Sandbox Code Playgroud)
PS:最近这个答案遭到了一连串的否决。因此,我要补充一点,原来的问题表述得很糟糕,这个答案正是OP根据与OP的私人对话所想要的。
归档时间: |
|
查看次数: |
15807 次 |
最近记录: |