Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将多个数据帧绘制成一个图形?_Python_Pandas_Matplotlib_Plot - Fatal编程技术网

Python 如何将多个数据帧绘制成一个图形?

Python 如何将多个数据帧绘制成一个图形?,python,pandas,matplotlib,plot,Python,Pandas,Matplotlib,Plot,我在同一个图表上绘制多个图表时遇到以下问题: plt.title("Food distribution across countries ") df1.groupby('Date').size().plot() plt.xticks(rotation=90) df2.groupby('Date').size().plot() plt.xticks(rotation=90) df3.groupby('Date').size().plot() plt.xticks(rota

我在同一个图表上绘制多个图表时遇到以下问题:

plt.title("Food distribution across countries ")

df1.groupby('Date').size().plot()
plt.xticks(rotation=90)

df2.groupby('Date').size().plot()
plt.xticks(rotation=90)

df3.groupby('Date').size().plot()
plt.xticks(rotation=90)
数据集的一个例子是

df1
        Date                                              
    0     03/26/2020  bread   
    1     03/21/2020  bread   
    2     03/14/2020  prawns   
    3     03/13/2020  eggs   
    4     01/20/2020  prawns   
    ...          ...                                                  
    1033  04/08/2020  chicken   
    1034  04/08/2020  ham  
    1035  04/08/2020  ham   
    1036  04/08/2020  ham   
    1037  04/08/2020  honey

df2
        Date                                              
    0     03/26/2020  bread   
    1     03/21/2020  honey   
    2     03/14/2020  milk   
    3     03/13/2020  eggs   
    4     01/20/2020  prawns   
    ...          ...                                                  
    1033  04/08/2020  chocolate   
    1034  04/08/2020  chocolate  
    1035  04/08/2020  sausage   
    1036  04/08/2020  ham   
    1037  04/08/2020  butter


df3
        Date                                             
    0     03/26/2020  bread   
    1     03/21/2020  honey   
    2     03/14/2020  milk   
    3     03/13/2020  milk   
    4     01/20/2020  beer   
    ...          ...                                                   
    1033  04/08/2020  chocolate   
    1034  04/08/2020  sausage  
    1035  04/08/2020  ham   
    1036  04/08/2020  ham   
    1037  04/08/2020  honey
我想在同一个图中绘制三个折线图,以显示跨时间的数据重叠


有什么方法与我一直尝试的只有一个图表的方法不同吗?

您可以创建一个df并绘制它

timeline_df = pd.concat(
    [df1.groupby('Date').size(), df2...],
    axis=1)
timeline_df.columns = ['A', 'B', 'C']
timeline_df.plot()
使用的ax参数在同一轴上绘制数据帧。 图,ax=plt子批次 df1.groupby'Date'.size.plotax=ax,label='df1' df2.groupby'Date'.size.plotax=ax,label='df2' df3.groupby'Date'.size.plotax=ax,label='df3' 传奇故事 实例 本例将10个单独的数据帧绘制到一个绘图上。 数据帧在目录中,行星目录。 数据帧也可以放在一个列表中,该列表可以迭代。 作为pd进口熊猫 导入seaborn作为sns 将matplotlib.pyplot作为plt导入 将测试数据作为数据帧加载 planets=sns.load_数据集'planets' 表3.head3 方法数轨道周期质量距离年 0径向速度1269.3007.1077.402006 1径向速度1874.774 2.21 56.95 2008 2径向速度1763.000 2.60 19.84 2011 获取独特的方法 方法=planets.method.unique 使用dict理解创建10个单独的数据帧,每个方法1个 行星_dict={k:planets[planets.method==k]表示方法中的k} 创建颜色映射,使每个数据帧具有不同的颜色 colors=sns。调色板“husl”,n\u colors=len方法可获得多种颜色 cmap=口述方法、颜色 创建图和轴 图,ax=plt。子图尺寸=10,10 迭代每个数据帧并将其添加到同一plt 对于行星中的k、v,请参见目录项: v、 plotkind='scatter',x='distance',y='orbital_period',ax=ax,label=k,color=cmap[k] 样式格式 plt.xscale'log' plt.yscale'log' plt.ylabel‘轨道周期地球日’ plt.xlabel‘距地球光年’ plt.legendtitle='Discovery Method',bbox_to_anchor=1.05,1,loc='左上方'
非常感谢你,特伦顿