如何在 Y 轴上绘制两列单个 DataFrame

数据挖掘 Python 熊猫 可视化 数据框
2021-10-07 01:39:41

我有两个数据框(动作、喜剧)。动作包含两列(年份,评级),评级列包含相对于年份的平均评级。Comedy 数据框包含相同的两列,但均值不同。

我将两个数据框合并为一个total_year数据框。

的输出total_year

总年产量

现在,我想绘制total_year一个折线图,其中 X 轴应包含年份列,Y 轴应包含动作和喜剧列。

我可以使用以下代码在 Y 轴上一次仅绘制 1 列:

total_year[-15:].plot(x='year', y='action' ,figsize=(10,5), grid=True)

如何在 Y 轴上绘制两列?

我从谷歌拍了这张照片只是为了让你们知道我想以这种方式绘制图表:

在此处输入图像描述

2个回答

将列名作为列表输入 y 值参数对我来说是这样的:

total_year[-15:].plot(x='year', y=['action', 'comedy'], figsize=(10,5), grid=True)

在此链接上使用类似答案的东西会更好,并且可以让您更好地控制标签和诸如此类的东西: 使用 plt.plot() 添加行

使用 Seaborn:

需要熔化列,以便在绘图中将它们视为色调

    import seaborn as sns
    df_melted = df.melt("year",var_name="Action&Comedy",value_name="Rating")

在此处输入图像描述

    sns.relplot(data=df_melt, x="year", y="Rating", hue="Action&Comedy",kind="line", height=4, aspect=.7)
    

在此处输入图像描述