【发布时间】:2018-03-05 17:55:43
【问题描述】:
我有一个按州和类别(有 5 个类别)绘制比率的条形图,但问题是某些州的类别比其他州多。
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({"state" : ["AL","AL","AL","AK", ],
"status" : ["Booked", "Rejected","Cancelled","Rejected"],
"0" : [1.5,2.5,3.5,1.0]})
df2 = df.groupby(['state','status']).size()/df.groupby(['state']).size()
fig, ax = plt.subplots()
plt.xlabel('State')
plt.ylabel('Bookings')
my_colors = 'gyr'
df2.plot(kind='bar', color=my_colors, orientation='vertical')
plt.tight_layout()
plt.show()
这很好地完成了我需要做的大部分工作,但是发生的情况是,由于某些州没有 status 的所有值,因此不会出现在图中,它会产生一些颜色编码不正确,因为颜色只是转移到每 5 种颜色重复一次,而不是基于值是否丢失。我该怎么办?
【问题讨论】:
-
不确定您在问什么?我不确定如何显示我希望看到的输出示例,因为它是条形图
-
我要求您提供minimal reproducible example 的问题。
-
对,但是如何显示我目前拥有的条形图?我不相信有办法可以导入 png 文件?
-
如果您提供minimal reproducible example,每个人都可以自己运行代码并在自己的屏幕上生成图形。 (如果你愿意,你仍然可以添加一个 png,但这是可选的,我会说)
标签: python python-3.x matplotlib plot bar-chart