如何指定colorbar范围并使其与打印值无关

2024-03-28 11:25:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我昨晚把这个打出来,当我要提交的时候,我想出来了。以防其他人需要它。在

我在基础地图上绘制了连续几天每小时的气象值。在

我希望每个贴图的colorbar值始终保持相同。假设每个图的0-10。在

有时这些值都非常接近于零,而其他值则在0-10之间。在

for file in files:
    ncfile = Dataset(file)
    cbarticks=np.arange(0.0,10.0,0.5)
    bm.contour(x, y, to_np(energyproduction), 10, colors="black",vmin=0,vmax=10.0)
    bm.contourf(x, y, to_np(energyproduction), 10,cmap = get_cmap('jet'),vmin=0,vmax=10.0)
    plt.colorbar(shrink=.62,ticks=cbarticks)
    plt.show()

我把它设置成最小值和最大值总是0和10。并且记号总是以0.5的增量0-10。我怎样才能强制colorbar保持不变。在

Plot showing colorbar when there is little difference in the data

Plot showing colorbar when there is larger differences in the data

我希望colorbar总是有相同范围的


Tags: tonp地图绘制plt基础bmfile
1条回答
网友
1楼 · 发布于 2024-03-28 11:25:29

问题出在我的contour()和contourf()中。之前我在功能内通过了10分。在

bm.contour(x, y, to_np(energyproduction), 10, colors="black",vmin=0,vmax=10.0)
bm.contourf(x, y, to_np(energyproduction), 10,cmap = get_cmap('jet'),vmin=0,vmax=10.0)

10表示绘图的最小值和最大值之间有10个步骤。因此,如果只有0-1的值,你将得到0.1的增量绘制等高线等

去掉10,然后把它放到cbarticks上,我就可以得到相同的colorbar值,不管值是多少。在

^{pr2}$

我相信这与底图等高线内的“水平”相同。在

enter image description here

enter image description here

相关问题 更多 >