簡體   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