如何将df1.plot()与df0.plot()的结果合并到同一图表中?
解决方法:将两个DataFrame的绘图合并到同一图表
下面两种常用方法可以帮你把df1.plot()和df0.plot()的结果合并到同一个图表中:
方法一:通过ax参数指定共用坐标轴
调用plot()时,先让第一个DataFrame生成坐标轴对象,再让第二个DataFrame复用这个坐标轴:
import pandas as pd import matplotlib.pyplot as plt plt.rcParams['figure.figsize'] = [25, 10] df = df.sort_values('datetime', ascending=True) # 先绘制df1并获取坐标轴对象 ax = df1.plot() # 指定df0在同一个坐标轴上绘图 df0.plot(ax=ax) plt.show()
方法二:先创建画布与坐标轴,再分别绘图
这种方式适合需要自定义图表细节(比如图例、标题)的场景:
import pandas as pd import matplotlib.pyplot as plt plt.rcParams['figure.figsize'] = [25, 10] df = df.sort_values('datetime', ascending=True) # 创建画布和单个坐标轴 fig, ax = plt.subplots() # 在同一坐标轴上绘制两个DataFrame的数据 df1.plot(ax=ax) df0.plot(ax=ax) # 可选:自定义图例和标题 ax.legend(['df1数据', 'df0数据']) ax.set_title('df1与df0合并数据图表') plt.show()
原理说明
默认情况下,每次调用df.plot()都会自动创建新的坐标轴,因此会生成独立图表。通过ax参数指定已存在的坐标轴对象,就能让所有绘图内容叠加在同一个图表上。
内容的提问来源于stack exchange,提问作者J D
相关产品推荐
相关产品推荐

