Gow 绘制数据框的多列

问题描述 投票:0回答:1

我在尝试绘制数据框时遇到问题。我发现了这个简单的例子,并且我尝试在我的数据框上以相同的方式绘制。

我的 df 看起来像这样:

我尝试了这段代码,我的图看起来是空白的,而我希望看到图中三种不同颜色的所有数字..

df_full.plot(x="Date", y=['age','predage'], kind="scatter", figsize=(10, 9))

它说:ValueError:x和y必须具有相同的大小

我尝试填写nans,但结果是一样的。我做错了什么?你能帮我吗?

(我试图绘制一个可以看到历史数据、预测数据和测试数据的图),如下图所示:

python pandas matplotlib nan scatter-plot
1个回答
2
投票

错误的原因是您在案例中使用数据绘制散点图,而示例显示的是条形图。另外,示例中的 x 轴有类别(国家),而您使用的是日期时间(我假设)。因此,为了在同一图中绘制两个散点图,您需要确保数据采用日期时间格式(您可以使用

df_full.info()
进行检查,它应将日期列显示为日期时间)。然后,您需要将它们绘制为保持同一轴的单独代码行。下面的示例与您提供的一些数据显示相同...

我的数据框

>> df_full
    age     Date                        predage
0   23.0    2022-08-20 18:44:20.270486  NaN
1   21.0    2022-08-20 18:44:22.270486  NaN
2   24.0    2022-08-20 18:44:25.270486  NaN
3   25.0    2022-08-20 18:44:28.270486  NaN
4   NaN     2022-08-20 18:57:20.270486  50.0
5   NaN     2022-08-20 18:57:22.270486  55.0
6   NaN     2022-08-20 18:57:25.270486  60.0
7   NaN     2022-08-20 18:57:28.270486  66.0

代码

fig,ax=plt.subplots(figsize=(6, 4))
ax.scatter(x=df_full.Date, y=df_full.age, label='Age')
ax.scatter(x=df_full.Date, y=df_full.predage, label='Pred Age')
plt.legend()

剧情

© www.soinside.com 2019 - 2024. All rights reserved.