修改matplotlib中默认xtick标签的方向

时间:2019-06-20 17:53:09

标签: python pandas matplotlib

我已经从数据框中在matplotlib中创建了一个图形。我的数据框已自动使用索引名称作为xlabel填充图形,并将xtick标签设置为每个索引的值(0-16)。

但是,标签彼此重叠,我似乎无法弄清楚如何抓住它们旋转它们,以便它们可读。

我尝试过旋转功能,但没有任何变化。到目前为止,我唯一能做的就是设置plt.xticks([])并使xticks消失。因此,似乎plt.xticks的方向正确,但是似乎没有任何变化。

df['Count'].plot(kind = 'bar')
df['Duration'].plot(secondary_y = True, kind = 'line', color = 'red')
width = .5

ax = plt.gca()
plt.xlim([-width, len(df['Count'])-width])
plt.title('Title')
plt.ylabel('Duration (min)')
plt.xticks(rotation = 45)

这给了我(array([0,1,... 16]),),然后在不更改xticks方向的情况下打印了图形。

xtick标签是自动设置的(显然),我不确定如何抓取它们。

1 个答案:

答案 0 :(得分:0)

尝试将旋转角度的值作为参数rot=30传递到第二个绘图。这将以指定角度旋转x轴刻度。使用负值将它们顺时针旋转


示例完整答案

import pandas as pd

df = pd.DataFrame({'lab':['A', 'B', 'C'], 'val':[10, 30, 20]})

df['val'].plot(kind = 'bar')
df['val'].plot(secondary_y = True, kind = 'line', color = 'red', rot=30)

enter image description here