Python 使用pandas创建matplotlib多系列线打印

Python 使用pandas创建matplotlib多系列线打印,python,pandas,matplotlib,line,Python,Pandas,Matplotlib,Line,我想创建一个多系列线形图,显示数据框元素的出现情况如何随时间变化: df = df.groupby(['Date', 'Category']).size() print df 我在数据帧中加入了两个列表: df = pd.DataFrame( {'Date': datelist, 'Category': catlist }) Date Category 13/02/2018 clean 13/02/2018 clean 13/02/2018 suspicious 14/

我想创建一个多系列线形图,显示数据框元素的出现情况如何随时间变化:

df = df.groupby(['Date', 'Category']).size()
print df
我在数据帧中加入了两个列表:

df = pd.DataFrame(
{'Date': datelist,
 'Category': catlist
})
Date        Category
13/02/2018  clean
13/02/2018  clean
13/02/2018  suspicious
14/02/2018  clean
14/02/2018  clean
19/02/2018  clean
19/02/2018  clean
14/02/2018  suspicious
13/02/2018  suspicious
14/02/2018  clean
然后,我将数据帧分组,以显示随时间变化的每次事件的计数:

df = df.groupby(['Date', 'Category']).size()
print df
这将返回如下内容:

 Date        Category        
 13/02/2018  clean          2
             suspicious     1
 14/02/2018  clean          2
 19/02/2018  clean          2
现在,我想为每个类别类型创建一个多系列线图,显示计数随日期的变化

我真的不知道如何使用matplotlib来实现这一点,您可以尝试使用:

plot_df = df.unstack('Category')
plot_df.index = pd.PeriodIndex(plot_df.index.tolist(), freq='D')
plot_df.plot()
plt.show()
或使用
子批次

plot_df.plot(subplots=True)
例如: 对于数据帧:

df = pd.DataFrame(
{'Date': datelist,
 'Category': catlist
})
Date        Category
13/02/2018  clean
13/02/2018  clean
13/02/2018  suspicious
14/02/2018  clean
14/02/2018  clean
19/02/2018  clean
19/02/2018  clean
14/02/2018  suspicious
13/02/2018  suspicious
14/02/2018  clean


上面是python代码,可能有一些语法错误,但它会让您了解如何解决问题以及如何编写代码

谢谢,为什么它只打印一个类别而只打印列表中的一个日期?你是什么意思?如果一个类别是固定的,你可能在图表中看不到它。我现在的主要问题是,X轴上的日期显示为以下“2月18日13日”、“14日”、“15日”-为什么没有显示完整日期?对于可疑类别,最有可能是因为它是固定的,或者只是一天。让我查一查日期让我们一起去。