如何在条形图中添加折线

时间:2018-11-07 08:05:29

标签: python graph seaborn data-analysis

免责声明:我对数据分析和Python还是很陌生,因此,如果您看到一种更好的方式来编写用于绘制数据的代码,我将非常乐意获得反馈。

我有7个星期的两个不同类别的数据。 我需要将此数据绘制到图形上并使其易于阅读。

我做的第一件事是创建一个条形图,将第2组的数据堆叠在第1组的数据上。 但是,我还想在图形中添加一条线,以更好地显示第2组中数据的演变。

但是,当我这样做时,即使我使用的是完全相同的东西,该行似乎也为x使用了不同的值。

fig, ax = plt.subplots(figsize=(20,10))
sns.barplot('week', 'group1', data=memberships, color = '#E30613', saturation=1)
sns.barplot('week', 'group2', data=memberships, color = '#009FE3', bottom=group1, saturation=1)
sns.lineplot('week', 'group2', data=memberships)

The result

该怎么做才能在条形图的顶部显示线?

编辑:为补充我的问题,here是我正在使用的数据集

1 个答案:

答案 0 :(得分:0)

我为此苦了很多。首先,我尝试使用来自熊猫的plot方法进行绘制,但无法将线图放在条形图的顶部。因此,我使用了标准的matplotlib函数。

memberships = pd.DataFrame(data={'week':range(37,44), 
                                 'group1':[248, 243, 287, 354, 315, 348, 303], 
                                 'group2':[42,53,65,73,60,62,84]})

fig, ax = plt.subplots()
ax.bar(memberships.week-0.5, memberships.group1, color = '#E30613')
ax.bar(memberships.week-0.5, memberships.group2, color = '#009FE3', bottom=memberships.group1)
ax.plot(memberships.week, memberships.group2, linewidth=4)