Matplotlib情节混乱

时间:2015-12-15 13:01:54

标签: python matplotlib group-by

我不确定这里发生了什么,但我有两个看似相似的代码,用于生成相同格式的图形:

apple_fcount = apple_f1.groupby("Year")["Domain Category"].nunique("count")
plt.figure(1); apple_fcount.plot(figsize=(12,6))
plt.xlabel('Year')
plt.ylabel('Number of Fungicides used')
plt.title('Number of fungicides used on apples in the US')
plt.savefig('C:/Users/User/Documents/Work/Year 3/Project/Plots/Apple/apple fcount')

这个产生了我希望如何看到它的图表; y轴表示杀菌剂的数量,x轴表示各自的年份。但是,以下代码在不同的数据集上打印出可用的图形,但x轴显示年份为“1,2,3,...”而不是实际年份。

apple_yplot = apple_y1.groupby('Year')['Value'].sum()
plt.figure(3); apple_yplot.plot(figsize=(12,6))
plt.xlabel('Year')
plt.ylabel('Yield / lb per acre')
plt.title('Graph of apple yield in the US over time')
plt.savefig('C:/Users/User/Documents/Work/Year 3/Project/Plots/Apple/Yield.png')

我在代码中看到的唯一可辨别的差异是第一个计算.nunique()数据点,而第二个是年份中所有数据的.sum()。我无法想象这就是这个问题背后的原因。两个.groupby()行都以相同的格式打印,并在那里正确显示年份。

apple_fcount:

Year
1991    19
1993    19
1995    21
1997    26
1999    28
2001    27
2003    31
2005    37
2007    30
2009    35
2011    32
Name: Domain Category, dtype: int64

apple_yplot:

Year
2007    405399
2008    541180
2009    483130
2010    473150
2011    468120
2012    417710
2013    529470
2014    510700
Name: Value, dtype: float64

0 个答案:

没有答案