【问题标题】:X-axis labels are overlapping when plotting dataframe [duplicate]绘制数据框时 X 轴标签重叠 [重复]
【发布时间】:2021-12-09 18:47:26
【问题描述】:

我有 115 列,我想在 x 轴上绘制列名。但是列名彼此重叠。 y 轴具有单行值。

features = fdf.iloc[0] # single row 
features.sort_values(ascending=False).plot(kind='bar')
plt.xticks(rotation=90)
plt.show()

这是图表,您可以看到 x 轴标签不清晰。

【问题讨论】:

  • 您只是为提供的空间提供了太多 X 标签。解决方案包括使图表更宽或减少标签数量或将其拆分为多个图表。你能举一些X标签的例子吗?我无法从图片中读取它们。
  • x-labels 是数据框的列。我有 115 列。每列字符串约为 15 个字符的字符串。因为单行包含 y 轴的值。 [MI_dir_L3_weight MI_dir_L3_mean MI_dir_L3_variance MI_dir_L1_weight MI_dir_L1_mean MI_dir_L1_variance MI_dir_L0.1_weight MI_dir_L0.1_mean MI_dir_L0.1_variance MI_dir_L0.01_weight MI_dir_L0.01_mean] 这些是一些 x-label 字符串。
  • 感谢您添加列示例。我认为将其拆分为多个图表最有意义。您可以按统计数据(所有weight 进入一个图表,所有mean 进入另一个图表)或数据系列(L3L0.1,...)进行拆分

标签: python pandas matplotlib


【解决方案1】:

你有几个选择:

  • 使用plot 中的figsize 参数使图形更宽
features.sort_values(ascending=False).plot(kind='bar', figsize = (15, 7))
  • 使用 `xticks' 中的 fontsize 参数减小 x 轴上 xticks 标签的大小
plt.xticks(rotation=90, fontsize = 'xx-small')

阅读fontsize here 的更多选项

【讨论】:

    猜你喜欢
    • 2019-10-01
    • 1970-01-01
    • 2019-05-10
    • 1970-01-01
    • 2017-01-14
    • 2014-12-03
    • 2014-04-30
    • 1970-01-01
    • 2017-06-03
    相关资源
    最近更新 更多