如何更改直方图轴标签的字体大小

Sop*_* Xu 3 python matplotlib histogram dataframe pandas

我根据 pandas 数据帧的列创建了字符串出现次数的直方图。字符串很长,因此当我绘制直方图时,标签会被切断。如何更改刻度标签的大小?

我知道 set_xticklabels,但我不太确定如何将其与我创建的直方图一起使用。

以下是我创建直方图的方法:

assignments_df[['Major:']].apply(pd.value_counts).plot(kind = 'bar', subplots = True)
plt.savefig('Major_Distribution.png')
Run Code Online (Sandbox Code Playgroud)

Bre*_*dan 5

plt.xtics()

看看fontsize以下的论点plt.xticks():

df = pd.DataFrame({'x':np.random.rand(20) // .01,
                  'y':np.random.rand(20) // .01})

df.plot(kind='bar')
plt.xticks(fontsize=8)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

带旋转

您还可以考虑旋转刻度标签:

# Different example data:
df = pd.DataFrame({'x':['abcdedf','abcdef','abcde','abcd'],
                  'y':np.random.rand(4) // .01})

df.plot(kind='bar', x='x', y='y')
plt.xticks(fontsize=8, rotation=45)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

水平的

另一种选择是使条形图水平。它仍然占用空间(水平而不是垂直),但使较长的标签更易于阅读。

df = pd.DataFrame({'x':['abcdedf','abcdef','abcde','abcd'],
                  'y':np.random.rand(4) // .01})

plt.barh('x', 'y', data=df)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述