You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在一张图中绘制DataFrame多列数据?covid_df绘图异常问题

解决双系列绘图不显示的问题

先排查数据有效性

首先确认new_deaths列是否有可绘制的有效数据:

# 查看统计信息,确认数值范围
print(covid_df[['new_cases', 'new_deaths']].describe())
# 检查缺失值数量
print(covid_df[['new_cases', 'new_deaths']].isnull().sum())

如果new_deaths全为NaN或0,曲线自然不会显示。


方案1:双Y轴适配量级差异

如果两列数值差距过大(比如新增病例是几万、新增死亡是几十),单Y轴会导致其中一条曲线被压缩到几乎看不见,用双Y轴解决:

import matplotlib.pyplot as plt

covid_df.set_index('date', inplace=True)
# 绘制第一个系列并获取轴对象
ax = covid_df['new_cases'].plot(color='#1f77b4', label='新增病例')
# 创建共享X轴的第二个Y轴
ax2 = ax.twinx()
covid_df['new_deaths'].plot(color='#ff7f0e', label='新增死亡', ax=ax2)

# 添加图例和标题
ax.legend(loc='upper left')
ax2.legend(loc='upper right')
plt.title('COVID-19 新增病例与死亡趋势')
plt.show()

方案2:显式指定同一轴(适用于量级接近的场景)

显式创建轴对象并传递给plot方法,确保两个系列绘制在同一张图:

import matplotlib.pyplot as plt

covid_df.set_index('date', inplace=True)
fig, ax = plt.subplots(figsize=(10, 6))
covid_df['new_cases'].plot(ax=ax, label='新增病例')
covid_df['new_deaths'].plot(ax=ax, label='新增死亡')

# 添加图例与坐标轴标签
ax.legend()
plt.xlabel('日期')
plt.ylabel('数量')
plt.title('新增病例与死亡对比')
plt.show()

内容的提问来源于stack exchange,提问作者weewoo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 22:15:32