0
我想繪製一個簡單的3D多面體並嘗試用座標標記頂點。第一步我想要做的就是簡單地標記每個頂點與他們的訂單或1
,2
,...使用matplotlib繪製3d圖中的標籤點
我看到在this答案在哪裏我可以使用循環來做到這一點。但是我想知道是否有可能通過x,y,z座標列表和標籤列表,它會簡單地繪製點並標記它,可能沒有任何循環。如果存在我不知道的功能。
這是我到現在爲止
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
#coord = 10*np.random.rand(3,num)#num points in 3D #first axis is x, second = y, third = z
xcod = np.array([1,2,3,2.7,2.4,1])
ycod = np.array([1,1,4,5.,6,1])
zcod = np.array([1,2,1,2,3,1])
#coord = np.concatenate(coord,coord[0])
#####plotting in 3d
fig = plt.figure()
ax = fig.add_subplot(111,projection = '3d')
#plotting all the points
ax.plot(xcod,ycod,zcod,'x-')
#adding labels for vertice
#ax.text(xcod,ycod,zcod,["1","2","3","4","5","6","7"])
#supposed centroid
ax.scatter(np.mean(xcod),np.mean(ycod),np.mean(zcod),marker = 'o',color='g')
ax.set_xlabel("x axis")
ax.set_ylabel("y axis")
ax.set_zlabel("z axis")
plt.show()
我ax.text(xcod,ycod,zcod,["1","2","3","4","5","6"])
沒有工作嘗試。我可以按照循環,但有另一種簡單的方法來做到這一點?
哎,是的,我這樣做,但不知道是否有可能不知道一個函數具有x的列表,y,z和一個標籤列表,基本上沒有循環 –
@hadik使用循環有什麼問題嗎?對我來說似乎相當緊湊。 –
這很好,但我想知道是否有其他內置函數直接執行它。感謝您的回覆 :) –