【发布时间】:2020-05-14 09:43:27
【问题描述】:
我正在尝试使用 pyplot 将自定义颜色条添加到我的热图中。 我的代码如下所示:
c_map = mpl.colors.ListedColormap(['#c7e9b4','#7fcdbb','#ffffff','#41b6c4','#225ea8','#253494'])
sm = plt.cm.ScalarMappable(cmap=c_map)
cbar = plt.colorbar(sm, ticks=np.arange(6), label='Change in user population')
cbar.ax.set_yticklabels(['<=-6', '<= -1', '0', '<= 3', '<= 6', '7>='])
这当前会产生以下颜色条: Wrong colorbar
从图片中可以看出,六个刻度标签中只有两个显示在栏的底部和顶部。但是,按照其他人使用的方法,我希望ticks=np.arange(6) 在将刻度标签更改为指定的字符串值之前将六个标签均匀地分布在颜色条上。
我正在寻找一种快速而简单的方法来解决这个问题,因为这是我需要制作的唯一可视化地图。我已经找了好几个小时没有成功解决这个问题,所以请帮助这个初学者程序员。
【问题讨论】:
-
颜色条的范围从 0 到 1。您可以根据颜色的数量计算刻度的放置位置。
-
哪个matplotlib?在更新的版本上,颜色条不应再变为 0-1
标签: python matplotlib colorbar colormap