【问题标题】:How to specify colorbar range and keep it regardless of plotting values无论绘图值如何,如何指定颜色条范围并保留它
【发布时间】:2018-11-14 22:54:25
【问题描述】:

我昨晚打了这个,然后当我要提交它时,我想通了。提交以防其他人需要。

我在底图上绘制连续数天每小时的气象值。

我想为每张地图始终保持相同的颜色条值。让我们说每个情节的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-10,增量为 0.5。如何强制颜色条保持不变。

我希望颜色条始终具有相同的范围

【问题讨论】:

    标签: python numpy matplotlib matplotlib-basemap


    【解决方案1】:

    问题出在我的 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,无论值如何,我都能为每个图获得相同的颜色条值。

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

    我相信这与底图轮廓内的“级别”指定相同。

    【讨论】:

    • 您好,您从哪里导入颜色图? IE。 get_cmap() 引用了什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-26
    • 2020-01-25
    • 2017-08-01
    • 2011-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多