python - 如何将数据框列值设置为 X 轴标签

标签 python pandas dataframe matplotlib bar-chart

假设我有以下格式的数据:

Region   Men   Women
City1    10   5
City2    50   89

当我在 Dataframe 中加载它并绘制图表时,它会将索引显示为 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()

目前它显示 x 刻度为 0,1,2..

最佳答案

plot.bar()方法从 plot() 继承其参数,它有 rot 参数:

来自文档:

rot : int, default None

Rotation for ticks (xticks for vertical, yticks for horizontal plots)

它还使用每个默认索引作为 x 轴的刻度:

use_index : boolean, default True

Use index as ticks for x axis

In [34]: df.plot.bar(x='Region', rot=0, title='Population', figsize=(15,10), fontsize=12)
Out[34]: <matplotlib.axes._subplots.AxesSubplot at 0xd09ff28>

或者,您可以显式设置索引 - 它可能对多级索引(轴)有用:

df.set_index('Region').plot.bar(rot=0, title='Population', figsize=(15,10), fontsize=12)

enter image description here

关于python - 如何将数据框列值设置为 X 轴标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38683709/

相关文章:

python - 如何用 Pandas 有效地找到两个大数据帧之间的逆交集?

java - 扭曲过早关闭与java套接字的连接

python - 如何使主键自动增量为 0001、0002、0003 而不是 1、2、3?

python - InvalidDocument : Cannot encode object: <pymongo. 游标。游标对象位于

python - 根据另一个数据框中具有最小/最大值的列从 pandas 数据框中选择值

r - 将函数应用于数据框的所有元素

python - 如何生成一些全为奇数的随机数

python - 推断 dtypes 时 Pandas 会改变值

python - 将 pandas 数据框中的列从 String 转换为 Float

python - 对每个级别的 Pandas 中的多索引进行不同的排序