Vol*_*il3 18 python matplotlib dataframe pandas
假设我有以下格式的数据:
Region Men Women
City1 10 5
City2 50 89
Run Code Online (Sandbox Code Playgroud)
当我在Dataframe和plot graph中加载它时,它将索引显示为X轴标签而不是Region名称.如何在X轴上获取名称?
到目前为止我试过:
import pandas as pd
import matplotlib.pyplot as plt
plt.style.use('ggplot')
ax = df[['Men','Women']].plot(kind='bar', title ="Population",figsize=(15,10),legend=True, fontsize=12)
ax.set_xlabel("Areas",fontsize=12)
ax.set_ylabel("Population",fontsize=12)
plt.show()
Run Code Online (Sandbox Code Playgroud)
目前它显示x刻度为 0,1,2..
jed*_*rds 12
由于你正在使用pandas,看起来你可以将tick标签直接传递给DataFrame的plot()方法.(docs).(例如df.plot(..., xticks=<your labels>))
此外,由于pandas使用matplotlib,您可以通过这种方式控制标签.
例如(例)或plt.xticks() ax.set_xticklabels()
关于旋转,最后两种方法允许您将旋转参数与标签一起传递.所以类似于:
ax.set_xticklabels(<your labels>, rotation=0)
Run Code Online (Sandbox Code Playgroud)
应该强迫它们水平放置.
plot.bar()方法从plot()继承其参数,plot()具有rot参数:
来自文档:
rot:int,默认无
旋转刻度(垂直刻度,水平刻度的刻度)
它还使用每个默认索引作为x轴的刻度:
use_index:布尔值,默认为True
使用index作为x轴的刻度
In [34]: df.plot.bar(x='Region', rot=0, title='Population', figsize=(15,10), fontsize=12)
Out[34]: <matplotlib.axes._subplots.AxesSubplot at 0xd09ff28>
Run Code Online (Sandbox Code Playgroud)
或者您可以显式设置索引 - 它可能对多级索引(轴)有用:
df.set_index('Region').plot.bar(rot=0, title='Population', figsize=(15,10), fontsize=12)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
41852 次 |
| 最近记录: |