首页 > 解决方案 > 如何在 seaborn 图中显示多条线?

问题描述

我想在 seaborn 点图中画三条线。三行基于命名为的标签Total Confirmed, Total Death, Total Recovered

这是我的数据集

      Date     Total Confirmed  Total Death Total Recovered
0   1/22/20         555            17           28
1   1/23/20         654            18           30
2   1/24/20         941            26           36
3   1/25/20         1434           42           39
4   1/26/20         2118           56           52

我写的代码只显示了一个值,没有显示其他两个值。如何修复我的代码以在日志图中显示所有三行,因为它们的结果彼此不同。

plt.figure(figsize=(18,7))
ax = sns.pointplot(data = df, x='Date', y='Total Confirmed', color="b")
plt.title('General Trend', fontsize=22, y=1.015)
plt.xlabel('month-day-year', labelpad=16)
plt.ylabel('# of people', labelpad=16)
ax.figure.legend()
plt.xticks(rotation=90);
plt.savefig('images/image1.png')

标签: pythonpandasplotseaborn

解决方案


你需要在df上使用melt:

df = df.melt("Date", ["Total Confirmed","Total Death","Total Recovered"])
ax = sns.pointplot(data = df, x='Date', y='value', hue="variable")

推荐阅读