Pandas绘制水平条形图时如何调整画布尺寸清晰显示Y轴数值
解决方法
绘制水平条形图时Y轴标签挤在一起看不清,核心原因是默认画布的纵向高度不足,直接调大画布纵向高度就能解决绝大多数场景的问题。Pandas内置的plot()方法自带画布尺寸控制参数,不需要额外引入复杂的配置。
修改后的可运行代码
import io import pandas as pd import matplotlib.pyplot as plt df = pd.read_csv(io.BytesIO(uploaded['mass_shootings.csv'])) # figsize接收(宽度, 高度)格式的元组,单位为英寸,Y轴标签多就重点调大第二个高度值 df.State.value_counts().plot(kind='barh', figsize=(8, 13)) # 自动适配布局,避免边缘标签被画布截断 plt.tight_layout() plt.show()
参数调整说明
figsize:根据Y轴标签的实际总数灵活调整数值即可,比如本次统计的是美国各州数据,总共50个左右的州名标签,高度设12-15基本就能让所有标签舒展排布不重叠;如果标签数量更多,继续加大高度值就行,宽度保持6-10的区间完全能满足常规展示需求。tight_layout():自动调整条形区域、轴标签、标题的边距,不用手动算内边距,也能避免最顶部、最底部的Y轴标签被画布边缘裁掉半块的问题。- 如果调完尺寸还是觉得标签偏挤,可以额外加一行
plt.yticks(fontsize=9)调小Y轴标签的字号,进一步降低重叠概率。
内容的提问来源于stack exchange,提问作者Liv Matthews
相关产品推荐
相关产品推荐

