You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas绘制柱状图时x轴标签旋转90度后超出图框问题

解决Pandas柱状图日期标签超出图框的问题

旋转90度后的日期标签被图框截断,核心原因是图表底部预留空间不足,以下是几种简单有效的解决办法:

方法一:保存图片时自动适配边界

在savefig中添加bbox_inches='tight'参数,让程序自动调整图表边界,确保所有元素(包括旋转后的标签)都能完整显示:

import pandas as pd

df = pd.DataFrame()
df['Date'] = pd.Series(['2023-01-01', '2023-01-02' ,'2023-01-03'])
df['# total dictated'] = pd.Series([45, 32, 22])

ax = df.plot.bar(x='Date', y='# total dictated', rot=90, 
                 title='Total dictations per day', legend=False, fontsize=10, xlabel='')
ax.figure.savefig('volume.png', bbox_inches='tight')

方法二:自动调整布局

调用tight_layout()让图表自动优化子图间距,避免标签被截断:

import pandas as pd

df = pd.DataFrame()
df['Date'] = pd.Series(['2023-01-01', '2023-01-02' ,'2023-01-03'])
df['# total dictated'] = pd.Series([45, 32, 22])

ax = df.plot.bar(x='Date', y='# total dictated', rot=90, 
                 title='Total dictations per day', legend=False, fontsize=10, xlabel='')
ax.figure.tight_layout()
ax.figure.savefig('volume.png')

方法三:手动调整底部间距(精细控制)

如果需要自定义预留空间,可以导入matplotlib手动设置底部间距,数值可根据标签长度调整:

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame()
df['Date'] = pd.Series(['2023-01-01', '2023-01-02' ,'2023-01-03'])
df['# total dictated'] = pd.Series([45, 32, 22])

ax = df.plot.bar(x='Date', y='# total dictated', rot=90, 
                 title='Total dictations per day', legend=False, fontsize=10, xlabel='')
plt.subplots_adjust(bottom=0.2)  # 底部预留20%的空间,按需修改数值
ax.figure.savefig('volume.png')

内容的提问来源于stack exchange,提问作者Anibal Jodorcovsky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 17:07:35