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='左上方'
非常感谢你,特伦顿