Lug*_*ggi 5 python matplotlib colorbar
我正在尝试使用 python 绘制矢量场散度的轮廓图,然后向该图中添加一个颜色条。我的级别旨在从 -0.01 到 0.01 在零附近对称。
这是我的代码的一部分:
div_levs = [-0.01, -0.005, -0.0025, 0.0025, 0.005, 0.01]
col = ['Blue', 'SteelBlue', 'White', 'Orange', 'Red']
c = plt.contourf(iwrf['x'], iwrf['y'], np.squeeze(iwrf['DIV'][ind_lev,:,:]),
levels=div_levs, colors=col, extend='both')
c.cmap.set_over('Magenta')
c.cmap.set_under('MidnightBlue')
bar = plt.colorbar(ticks=div_levs)
bar.set_label('1/s')
Run Code Online (Sandbox Code Playgroud)
如果我执行 python 脚本,它就可以工作,并且所有内容都以正确的方式绘制,但颜色图标有:
0.9900, 0.9950, 0.9975, 1.025, 1.0050, 1.0100
Run Code Online (Sandbox Code Playgroud)
并且在颜色条的顶部显示“-1”。
我已经尝试了很多,包括在创建颜色条后设置它的刻度,或者在调试模式下设置刻度,但似乎没有任何改变这种行为。
对此有何想法?
您可以通过调用告诉colorbar的格式化程序不要使用偏移量
bar.formatter.set_useOffset(False)
Run Code Online (Sandbox Code Playgroud)
然后更新刻度
bar.update_ticks()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
838 次 |
最近记录: |