2014-03-13 110 views
2

我試圖繪製三維表面plot_trisurf這樣的:Matplotlib三角形(plot_trisurf)顏色和電網

xs = NP.array([ 0.00062 0.00661 0.02000 0.01569 0.00487 0.01784]) 
ys = NP.array([ 0.99999 0.66806 0.50798 0.61230 0.83209 0.86678]) 
zs = NP.array([-0.24255 -0.42215 -0.31854 -0.77384 -0.77906 -0.98167]) 

ax=fig.add_subplot(1,2,1, projection='3d') 
ax.grid(True) 
ax.plot_trisurf(xs, ys, zs, triangles = triangles, alpha = 0.0, color = 'grey') 

這給了我this plot

現在我有兩個問題:

  1. 三角形是黑色的,我可以改變這個問題嗎? (它的工作原理在二維 與triplot與color = 'grey'但這似乎並沒有工作 這裏
  2. (如果它是可見的)的3D繪圖的網格留下痕跡 三角形:好像印在網格在 三角形的頂部,而我(當然)希望三角形要在 頂格的繪製
+0

你可以在你的問題中加入'xs,ys,zs'嗎? –

回答

1

改變最後一行:

ax.plot_trisurf(xs, ys, zs, triangles=triangles, 
       color=(0,0,0,0), edgecolor='Gray') 

color你指定用作facecolor;如果你想擁有透明的面孔,而不是alpha=0通過color=(r,g,b,0);元組中的0將是facecolor的alpha;所以它會導致透明的面孔;

+0

太好了,謝謝! 你也有一個想法,爲什麼網格繪製在三角形和點的頂部? – Jan

+0

我沒有網格問題,但你可能想嘗試'...,edgecolor ='Gray')。 –