Pandas 如果绘制多个数据帧,则一个数据帧生成一条平面线

Pandas 如果绘制多个数据帧,则一个数据帧生成一条平面线,pandas,plot,Pandas,Plot,我有两个数据帧,它们有自己的值。当我想将它们绘制成一个图形时,结果是我只能看到其中一个数据帧中的数据 gdpgraph['sum'] = gdpgraph['sum'].fillna(0).astype(np.int64) gdpgraph.info() 索引:18项,2000年至2017年 数据列(共1列): 和18非空int64 数据类型:int64(1) 内存使用:928.0+字节 graphsoccer = soccer.groupby(['Year'])['Amount'].agg

我有两个数据帧,它们有自己的值。当我想将它们绘制成一个图形时,结果是我只能看到其中一个数据帧中的数据

gdpgraph['sum'] = gdpgraph['sum'].fillna(0).astype(np.int64)
gdpgraph.info()
索引:18项,2000年至2017年 数据列(共1列): 和18非空int64 数据类型:int64(1) 内存使用:928.0+字节

graphsoccer = soccer.groupby(['Year'])['Amount'].agg(['sum'])
graphsoccer.info()
fig = plt.figure()
ax = plt.subplot(111)
gdpgraph['sum'].plot(ax=ax)
graphsoccer['sum'].plot(ax=ax)
索引:18项,2000年至2017年 数据列(共1列): 和18非空int64 数据类型:int64(1) 内存使用:288.0+字节

graphsoccer = soccer.groupby(['Year'])['Amount'].agg(['sum'])
graphsoccer.info()
fig = plt.figure()
ax = plt.subplot(111)
gdpgraph['sum'].plot(ax=ax)
graphsoccer['sum'].plot(ax=ax)
结果是一个只有graphsoccer信息的图形,而另一个数据帧是平面的


非常欢迎您的帮助。

这是数据的缩放问题,一个
DataFrame
值为100米,一个为100米

您可以创建一个次轴来绘制一个系列:

fig = plt.figure()
ax = plt.subplot(111)
ax2 = ax.twinx()

gdpgraph['sum'].plot(ax=ax)
graphsoccer['sum'].plot(ax=ax2)

替代解决方案:

fig, ax = plt.subplots(1,1)
gdpgraph['sum'].plot(ax=ax)
graphsoccer['sum'].plot(ax=ax, secondary_y=True)
plt.show()

看起来它应该有用。。。你说的平坦是什么意思?你能将情节添加到问题中吗?也许可以检查底层数据?什么是
gdpgraph['sum']。例如,description()
?[link]两个数据框的轴上都包含年份,其他轴都包含值。没有NaN值或空字符串。可能是缩放问题?什么是
graphsoccer['sum']。description()
?计数1.800000e+01表示2.212522e+09标准9.555994e+08最小值1.071060e+09 25%1.580572e+09 50%2.070600e+09 75%2.442665e+09最大值4.706270e+09名称:sum,数据类型:float64感谢您的帮助@Spanhaak没有问题也有办法显示x轴值吗?两个df都有一个年份栏。我似乎无法让它工作。添加
ax.set_xticklabels(graphsoccer.index)
fix是否解决了问题?是的,但我的想法是,刻度的数量应该更多,以便更好地匹配数据。我现在看到2001-2008年,而数据显示2000-2017年为年份,有没有办法延长滴答声?