繁体   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