繁体   English   中英

如何在mplot3d上绘制表面以获取(x,y,z)=(0,0,1),(0,0,2)之类的数据

[英]How can I plot surface on mplot3d for data like (x,y,z)=(0,0,1),(0,0,2)

如何在mplot3d上绘制表面以获取类似的数据

(x,y,z)=(0,0,1),(0,0,2)......

我目前在python上使用mplot3d,并且有一些分散数据,例如

(x,y,z) = (0,1,3),(0,8,9),(1,5,24)......

我尝试了ax.scatter(xp,yp,zp) ,然后可以显示散点图。

但是,当我尝试对所有数据使用ax.plot_trisurf(xp,yp,zp)plt.show() ,图形plt.show()不会显示任何内容。

如何从这些数据绘制曲面图?

任何帮助,将不胜感激,谢谢。

正如你现在拥有它, x = (0,1,3) y = (0,8,9)z=(1,5,24) 我认为您实际上需要在坐标上使用zip

from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
import matplotlib.pyplot as plt

x,y,z = zip((0,1,3),(0,8,9),(1,5,24))

print x
# (0, 0, 1)

print y
# (1, 8, 5)

print z
# (3, 9, 24)

fig = plt.figure()
ax = fig.gca(projection='3d')

ax.plot_trisurf(x, y, z, cmap=cm.jet, linewidth=0.2)
plt.show()

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM