Matplotlib 颜色条在左侧/对侧打勾

新手上路,请多包涵

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

 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')

导致这样的事情(由于空间原因旋转): 在此处输入图像描述

是否有可能在另一侧获得刻度标签?

原文由 M.T 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 604
2 个回答

您可以使用 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')

在此处输入图像描述

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

 c_ax.yaxis.set_label_position('left')

最后,如果你有一个水平颜色条,并且想将刻度和标签移动到顶部,你可以在 xaxis 上使用等效函数:

 c_ax.xaxis.set_label_position('top')
c_ax.xaxis.set_ticks_position('top')

原文由 tmdavison 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

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

 cb.ax.xaxis.set_ticks_position("top")

原文由 Xrio 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题