看过来
《pandas 教程》 持续更新中,提供建议、纠错、催更等加作者微信: gairuo123(备注:pandas教程)和关注公众号「盖若」ID: gairuo。跟作者学习,请进入 Python学习课程。欢迎关注作者出版的书籍:《深入浅出Pandas》 和 《Python之光》。
柱状图(bar chart),使用与轴垂直的柱子,通过柱形的高低来表达数据的多少,适用于数据的对比,在整体中也能看到数据的发展变化趋势。
DataFrame 可以直接调用 plot.bar() 生成折线图,与折线图类似,x 轴为索引,其他数字类型的列为 y 轴上的条形。
df.plot.bar()
df.plot.barh() # 横向
df[:5].plot.bar(x='name', y='Q4') # 指定xy轴
df[:5].plot.bar('name', ['Q1', 'Q2']) # 指定xy轴
基于以上的逻辑,如果希望指定指定列为 x 轴,可以先将其设为索引:
(
df.loc[:6] # 取部分
.set_index('name') # 设为索引
.plot
.bar() # 柱状图
)
Series 索引为 x 轴,值为 y 轴, 值为非数字的会报错:
df[:5].Q1.plot.bar()
正负值同时出现的情况:
(
df.assign(Q1=df.Q1-70) # 让Q1产生部分负值
.loc[:6] # 取部分
.set_index('name') # 设为索引
.plot
.bar() # 柱状图
)
可以将同一索引的多个数据堆叠起来:
(
df.loc[:6] # 取部分
.set_index('name') # 设为索引
.plot
.bar(stacked=True) # 柱状图, 堆叠
)
barh 可以将柱形横向,以下为一个横向+堆叠的例子:
(
df.loc[:6] # 取部分
.set_index('name') # 设为索引
.plot
.barh(stacked=True) # 柱状图, 横向+堆叠
)
和折线图一样,也支持子图:
df[:5].plot.bar(subplots=True)
更新时间:June 24, 2020, 9:45 a.m. 标签:pandas 条形图 柱状图