Matplotlib颜色条在左侧/对侧刻度

M.T*_*M.T 16 python matplotlib colorbar

可以像这样生成垂直颜色条(简化):

import matplotlib.pyplot as plt
import matplotlib as mpl

plt.figure()
c_ax=plt.subplot(111)
cb = mpl.colorbar.ColorbarBase(c_ax,orientation='vertical')
plt.savefig('my_colorbar.png')
Run Code Online (Sandbox Code Playgroud)

导致这样的事情(因空间原因而轮换):在此输入图像描述

是否可以在对面获得刻度标签?

tmd*_*son 24

您可以使用切换刻度的位置 c_ax.yaxis.set_ticks_position()

所以对于你的例子:

import matplotlib.pyplot as plt
import matplotlib as mpl

plt.viridis()

fig=plt.figure()
c_ax=plt.subplot(199)

cb = mpl.colorbar.ColorbarBase(c_ax,orientation='vertical')

c_ax.yaxis.set_ticks_position('left')

plt.savefig('my_colorbar.png')
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

请注意,您也可以以类似的方式移动颜色条标签:

c_ax.yaxis.set_label_position('left')
Run Code Online (Sandbox Code Playgroud)

最后,如果您有一个水平颜色条,并且想要将标记和标签移动到顶部,您可以使用以下等效函数xaxis:

c_ax.xaxis.set_label_position('top')
c_ax.xaxis.set_ticks_position('top')
Run Code Online (Sandbox Code Playgroud)


Xri*_*rio 6

由于某种原因,对颜色条输入轴(cax参数)应用更改对我来说不起作用。

但是,从颜色条对象中获取轴然后应用更改效果很好:

cb.ax.xaxis.set_ticks_position("top")
Run Code Online (Sandbox Code Playgroud)