如何使用plt.tick_params将Matplotlib的Y轴标签置于右侧?
解决plt.ylabel标签置于Y轴右侧的问题
你用plt.tick_params已经搞定了Y轴刻度和刻度值的右侧显示,但plt.ylabel本身没有直接参数控制标签位置,需要结合当前坐标轴对象来设置,具体方法如下:
方法示例
# 先设置刻度及刻度值的右侧显示 plt.tick_params(axis='y', left=False, labelleft=False, right=True, labelright=True) # 设置Y轴标签 plt.ylabel("y-axis") # 获取当前坐标轴对象,调整标签位置到右侧 ax = plt.gca() ax.yaxis.set_label_position("right")
或者也可以先调整标签位置再设置ylabel,效果完全一致:
ax = plt.gca() ax.yaxis.set_label_position("right") plt.tick_params(axis='y', left=False, labelleft=False, right=True, labelright=True) plt.ylabel("y-axis")
说明
matplotlib的pyplot(plt)模块没有单独的函数直接控制ylabel的位置,所以必须通过plt.gca()获取当前的Axes对象,再调用其y轴的set_label_position()方法来完成设置,这和你看到的面向对象写法本质逻辑一致,只是适配了pyplot的快捷调用习惯。
内容的提问来源于stack exchange,提问作者Redshoe
相关产品推荐
相关产品推荐

