簡體   English   中英

使用matplotlib更改3D散點圖的默認顏色條

[英]Change default colorbar for 3D scatter plot with matplotlib

我有3d坐標,用於定義3D散點圖中的點的位置,並帶有相應數量的值,我想創建一個色標來表示這樣的值范圍:

from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

xs,ys,zs = np.random.random(50),np.random.random(50),np.random.random(50)
values = np.random.random(50)*10

p = ax.scatter3D(xs, ys, zs=zs, c=values)
cbar = fig.colorbar(p)
cbar.cmap(plt.cm.Greys)

沒有最后一行cbar.cmap(plt.cm.Greys)我得到了默認的顏色圖(我認為是噴射),但是當我嘗試修改它時,我得到了錯誤TypeError: Cannot cast array data from dtype('O') to dtype('int64') according to the rule 'safe' 我希望能夠更改此設置,並且我一直在瀏覽文檔,但是似乎有很多不同的方法可以做類似的事情。 從這一點如何更改默認顏色圖?

我是

您必須提供cmap關鍵字以進行分散。 以下是所有可能的cmap: http//matplotlib.org/examples/color/colormaps_reference.html ,您可能希望將斧頭添加到顏色欄中。

from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

xs,ys,zs = np.random.random(50),np.random.random(50),np.random.random(50)
values = np.random.random(50)*10

p = ax.scatter3D(xs, ys, zs=zs, c=values, cmap='hot')

fig.colorbar(p, ax=ax)

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM