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)
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)