[英]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.