首页 > 解决方案 > Matplotlib 将 y 轴放在右侧,标签翻转

问题描述

我希望 y 轴位于绘图的右侧,但标签也要朝向正确的方向。有很多答案可以解释第一部分,可以按如下方式完成:

import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot()
ax.plot([1,2,3,4,5])
ax.set_ylabel("RHS")
ax.yaxis.set_label_position("right")
ax.yaxis.tick_right()
plt.show()

产生以下内容: 在此处输入图像描述

但这里的问题是右侧的 yaxis 标签朝外,理想情况下我希望它朝内,如下所示:

在此处输入图像描述

对此的任何帮助将不胜感激!

标签: pythonmatplotlib

解决方案


只需将以下 kwargs 添加到您的set_ylabel调用中:

ax.set_ylabel("RHS",rotation=-90,labelpad=15)

这给出了预期的输出:

输出

如果要在设置标签后对其进行修改,或者您可以执行以下操作:

yl = ax.set_ylabel("RHS")
ax.yaxis.set_label_position("right")
yl.set_rotation(50)
# do some other stuff

然后不要忘记打电话plt.draw()使其生效。您可能想查看matplotlib 文本实例属性。


推荐阅读