如何在Pandas条形图中旋转Y轴刻度标签
如何在Pandas DataFrame的plot()中旋转Y轴刻度?
没错,Pandas的plot()函数里的rot参数确实只默认作用于X轴刻度的旋转,官方文档虽然提到了可以针对轴设置,但没给出具体示例,我给你分享两种简单实用的实现方法:
方法1:使用matplotlib的plt.yticks()直接设置
因为Pandas的绘图功能是基于matplotlib封装的,所以我们可以直接调用matplotlib的原生函数来调整Y轴刻度。
import pandas as pd import matplotlib.pyplot as plt # 构造示例数据 df = pd.DataFrame({'销售额': [120, 250, 180, 320]}, index=['一月', '二月', '三月', '四月']) # 生成柱状图,同时获取Axes对象 ax = df.plot(kind='bar') # 旋转Y轴刻度为45度,你可以根据需求调整角度值 plt.yticks(rotation=45) plt.tight_layout() # 自动调整布局,避免刻度被截断 plt.show()
方法2:通过Axes对象的tick_params()方法设置
这种方法更灵活,不仅可以设置旋转角度,还能顺便调整刻度的字体大小、颜色等样式,并且明确指定作用于Y轴。
import pandas as pd import matplotlib.pyplot as plt df = pd.DataFrame({'销售额': [120, 250, 180, 320]}, index=['一月', '二月', '三月', '四月']) ax = df.plot(kind='line') # 针对Y轴设置刻度旋转45度,同时调整字体大小为10 ax.tick_params(axis='y', rotation=45, labelsize=10, colors='darkblue') plt.show()
额外技巧:同时调整X轴和Y轴刻度
如果需要同时设置X、Y轴的刻度旋转,X轴可以继续用Pandas的rot参数,也可以用tick_params统一配置:
# 用rot设置X轴旋转,同时用tick_params设置Y轴 ax = df.plot(kind='bar', rot=30) ax.tick_params(axis='y', rotation=45) # 或者用tick_params统一设置两个轴 ax.tick_params(axis='both', rotation=45)
内容的提问来源于stack exchange,提问作者teddy waweru
相关产品推荐
相关产品推荐

