2015-11-10 42 views
3

我有一個數據集劇情2線:如何基於價值不列

ReviewDate_year,ReviewDate_month,Sales 
2010,11,1 
2011,02,2 
2011,11,1 
2011,12,6 
2012,01,11 
2012,02,8 
2012,03,3 
2012,04,1 
2012,05,8 
2012,06,3 
2012,07,1 
2012,08,2 
2012,09,1 
2012,11,1 
2012,12,8 
2013,01,2 
2013,02,2 
2013,03,4 
2013,04,4 
2013,05,7 
2013,06,5 
2013,07,6 
2013,08,4 
2013,09,4 
2013,10,5 
2013,11,3 
2013,12,5 
2014,01,9 
2014,02,4 
2014,03,8 
2014,04,7 
2014,05,3 
2014,06,7 
2014,07,1 

如何繪製的月份和不同的年銷售在不同的線路

我可以肯定做年份

df_2013 = df_monthlycount[df_monthlycount['ReviewDate_year'] == 2013] 
df_2014 = df_monthlycount[df_monthlycount['ReviewDate_year'] == 2014] 

df_2013.plot(x='ReviewDate_month',y='ProductId') 

plt.show() 

但是,如何在一張圖表中製作不同年份的行?

+0

數據沒有塑造大熊貓:http://stackoverflow.com/questions/31863083/ python-split-numpy-array-based-on-the-array- –

+0

相關:http://stackoverflow.com/questions/15465645/plotting-results-of-pandas-groupby –

回答

4

您可以使用groupby圖。而不是創建一個ax每個組的,你可以指定一個ax和擁有一切繪製在該ax

import pandas as pd 
import matplotlib.pyplot as plt 
import numpy as np 
import matplotlib.cm as cm 

ax = plt.subplot(111) 
df[df.ReviewDate_year.isin([2012,2013])].groupby('ReviewDate_year').plot(y='Sales', x='ReviewDate_month', kind='line', ax=ax) 
L = plt.legend() 
_ = [plt.setp(item, 'text', T) for item, T in zip(L.texts, ['2012','2013'])] 
_ = ax.set_xticks(df.ReviewDate_month.unique()) 

enter image description here