如何创建分组线图

时间:2020-03-25 14:15:34

标签: python plot seaborn

我想制作一个线图,其中x轴是年份,y轴是avo_sales.groupby(['year','type'])['type'].count(),这意味着每年每种类型的计数,色相是类型。我无法完成这项工作。它说TypeError: object of type 'int' has no len()

这是我要绘制的数据

avo_sales.groupby(['year','type'])['type'].count()
Out[17]: 
year  type        
2015  conventional    2790
      organic         2807
2016  conventional    2808
      organic         2808
2017  conventional    2862
      organic         2860
2018  conventional     648
      organic          648
Name: type, dtype: int64

这是我的情节代码

plt.figure()
sns.lineplot(x= avo_sales.year,y=avo_sales.groupby(['year','type'])['type'].count(),hue = avo_sales.type)

1 个答案:

答案 0 :(得分:1)

您可以尝试以下方法。

以下代码适用于> = 0.25的熊猫

pd.__version__使用它们显示熊猫的版本。


df = pd.read_csv('avocado.csv')
df = df.groupby(['year','type']).agg(count=('type', 'count'))
# print df here to see how the columns are displaying
df = df.reset_index()
# print df here to see the difference

sns.lineplot(x="year", y="count", hue='type', data=df)

它将给出以下输出 enter image description here