Pau*_*ler 6 matplotlib max labels minimum colorbar
我想将颜色条的标签从增加更改为减少值.当我尝试通过这样做时vmin,vmax我收到错误消息:
minvalue必须小于或等于maxvalue
所以,例如,我希望颜色栏从左边的20开始,然后在右边的15上.
这是我到目前为止的颜色栏代码,但在这个例子中,值从15到20,我想颠倒这个顺序:
cmap1 = mpl.cm.YlOrBr_r
norm1 = mpl.colors.Normalize(15,20)
cb1 = mpl.colorbar.ColorbarBase(colorbar1, cmap=cmap1, norm=norm1, orientation='horizontal')
cb1.set_label('magnitude')
Run Code Online (Sandbox Code Playgroud)
下面显示的颜色栏可能与您的颜色不完全相同,因为它们只是示例颜色栏,可用作概念验证.
在下面我假设你有一个类似于此的颜色条,右边的值增加:

如果要反转 x轴,意味着x轴上的值向右下降,使颜色栏"镜像",则可以使用ColorbarBase's ax属性:
cb1 = mpl.colorbar.ColorbarBase(colorbar1,
cmap=cmap1,
norm=norm1,
orientation='horizontal')
cb1.ax.invert_xaxis()
Run Code Online (Sandbox Code Playgroud)
这给出了下面的输出.

也可以通过设置颜色条来更改滴答标签的数量locator.这里MultipleLocator使用了,虽然你也可以使用许多其他定位器.
from matplotlib.ticker import MultipleLocator
cb1.locator = MultipleLocator(1) # Show ticks only for each multiple of 1
cb1.update_ticks()
cb1.ax.invert_xaxis()
Run Code Online (Sandbox Code Playgroud)

如果您希望颜色条本身的方向不变,并且只反转勾选标签的显示顺序,则可以使用set_ticks和set_ticklabels方法.与以前的解决方案相比,这更像是一种"暴力"方法.
cb1.set_ticks(np.arange(15, 21))
cb1.set_ticklabels(np.arange(20, 14, -1))
Run Code Online (Sandbox Code Playgroud)
这给出了下面看到的颜色条.请注意,颜色保持不变,只有刻度位置和刻度标签已更改.

| 归档时间: |
|
| 查看次数: |
3517 次 |
| 最近记录: |