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

如何用Python Pandas和Matplotlib控制图表与文本标签的相对大小?

Pandas+Matplotlib柱状图X轴标签过大的PDF输出解决方案

问题背景

生成的柱状图存在X轴标签相对于图表整体尺寸过大的问题,有两种解决思路:

  • 保持标签字号不变,增大图表整体尺寸(优先选择)
  • 保持图表尺寸不变,缩小标签字号

需输出为PDF格式,当前渲染宽度仅约400像素,且发现dpi参数对PDF无效(PDF为矢量格式),原代码如下:

# data 是 Pandas DataFrame,包含'age'列
data_age = data['age'].value_counts().sort_index()

plot = data_age.plot.bar()
pplt.savefig('age.pdf')

(pplt来自import matplotlib.pyplot as pplt)

优先方案:增大图表尺寸(适配PDF)

PDF是矢量格式,无需依赖dpi参数,直接通过figsize设置图表的矢量尺寸即可解决标签比例失调问题,同时保留标签字号。修改后的代码:

import matplotlib.pyplot as pplt

# data 是 Pandas DataFrame,包含'age'列
data_age = data['age'].value_counts().sort_index()

# 自定义图表尺寸,示例为宽10英寸、高6英寸,可按需调整
plot = data_age.plot.bar(figsize=(10, 6))
# 可选:防止标签被PDF边界裁剪
pplt.savefig('age.pdf', bbox_inches='tight')

关键说明

  • figsize=(w, h):以英寸为单位定义图表的基础尺寸,PDF会完整保留这个矢量尺寸,渲染时标签比例会自动协调。
  • bbox_inches='tight':避免X轴标签或标题被截断,建议添加。

备选方案:缩小标签字号

若需保持图表尺寸不变,可直接调整X轴标签的字号:

plot = data_age.plot.bar()
# 设置X轴标签字号,示例为8号,可按需修改
plot.tick_params(axis='x', labelsize=8)
pplt.savefig('age.pdf')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 15:10:24