2017-02-21 89 views
0

我有這個四維圖中的色標:我如何在顏色表用於4D積Matplotlib

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

x = np.arange(100)/ 101 
y = np.sin(x) + np.cos(x) 
X,Y = np.meshgrid(x,y) 
Z = (X**2)/(Y**2) 
A = np.sin(Z) 

fig = plt.figure() 
ax = fig.add_subplot(111,projection= '3d') 
ax.plot_surface(X,Y, Z, facecolors=cm.Oranges(A)) 
plt.show() 

輸出圖像

但我怎麼查看colormap的規模?

回答

-1

您需要創建從顏色表

m = cm.ScalarMappable(cmap=cm.Oranges) 
m.set_array(A) 
cbar = plt.colorbar(m) 

可映射作爲這個問題的答案: Matplotlib 3d plot - associate colorbar with different axis

+0

你爲什麼要重新發布別人的答案嗎?你已經投票結束這個作爲一個副本,所以這只是代表? –

+0

一般而言,它當然是重複的。但是你永遠不知道問題在哪個層次上被詢問,以及提問者是否直接看到問題和答案的重疊。所以對於這個問題提供量身定製的答案是有道理的(至少對我來說),可以複製/粘貼以使上述代碼工作。同樣對於通過搜索來到這個問題的人來說,這個答案可能更有幫助,因爲它更加緊密地回答瞭如何獲取一個彩條(而另一個問題也有一些關於旋轉X和Z的組件)。 – ImportanceOfBeingErnest

+0

好吧,你已經明確地把更多的想法放在這個話題上了,然後我有了,對於指責抱歉,你是對的,這是另一個更爲直接的答案。 –