【问题标题】:Matplotlib spacing in xaxisxaxis 中的 Matplotlib 间距
【发布时间】:2018-11-29 02:18:18
【问题描述】:

我有一个熊猫数据框,

SPL         COUNT

ASDSFGDFG   2889
BDFGDFGSD   1942
CSDFGSDFG   1660
DDSFGDSFG   837
ESDFGDSFF   742
FDFGSDFDF   577
GDFGDSFGF   523
HDFGDSFGF   480

当我尝试绘图时,xais 没有正确显示 SPL 名称,

我现在写的代码:

fig, ax = plt.subplots(figsize=(8,8))
plt.tight_layout()
ax.plot(doc_spl['spl'], doc_spl['total_count'])

如何添加间距以正确显示 xaxis,我可以使文本垂直吗?并在刻度之间留出空间?

【问题讨论】:

  • 您是否检查过任何 Matplotlib 文档或它的用于定向 x 轴标签的示例库?

标签: python pandas matplotlib


【解决方案1】:

这是您想要的吗?请尝试将以下代码行添加到您的代码中:

plt.xticks(rotation=90)
plt.gca().margins(x=0)
plt.gcf().canvas.draw()
tl = plt.gca().get_xticklabels()
maxsize = max([t.get_window_extent().width for t in tl])
m = 0.2 # inch margin
s = maxsize/plt.gcf().dpi*150+2*m
margin = m/plt.gcf().get_size_inches()[0]

plt.gcf().subplots_adjust(left=margin, right=1.-margin)
plt.gcf().set_size_inches(s, plt.gcf().get_size_inches()[1])

【讨论】:

  • 我也需要刻度之间的空格
  • ValueError: 无法将字符串转换为浮点数:'ASDSFGDFG' 是错误
  • @SriramArvindLakshmanakumar 即使我尝试了您的代码,它也会给出该错误消息,因为整个'COUNT' 列是str 的一种类型,那么如果您尝试在ax.plot 中删除该参数呢?
  • @SriramArvindLakshmanakumar 感谢您的接受,您已经拥有超过 15 个声望,因此您可以根据需要投票
猜你喜欢
  • 2021-05-31
  • 2014-12-26
  • 1970-01-01
  • 2020-08-25
  • 2021-11-11
  • 2022-01-23
  • 2020-12-02
  • 1970-01-01
  • 2022-01-09
相关资源
最近更新 更多