【问题标题】:Line plot of two different grouped by dataframes按数据框分组的两个不同的线图
【发布时间】:2019-08-30 05:14:44
【问题描述】:

我已将数据分组到 2 个单独的数据框中,并希望将它们与 2 条单独的线一起绘制在一个图中。

我根据需要对数据进行了分组,并根据分组数据绘制了单独的图表。

grouped_men = df_men.groupby('age').mean()[['oldpeak']]
grouped_women = df_women.groupby('age').mean()[['oldpeak']]
grouped_men.plot(kind='line',title='Mens age vs oldpeak')
grouped_women.plot(kind='line',title='Womens age vs oldpeak')

但现在我需要绘制一个包含 2 条男性和女性线条的单一图表,而不是 2 个单独的图。

当前情节如下所示:

【问题讨论】:

    标签: pandas matplotlib jupyter-notebook


    【解决方案1】:

    您需要指定 Pandas 放置绘图的坐标轴。请尝试以下操作:

    import matplotlib.pyplot as plt
    fig = plt.figure()
    ax = fig.add_subplot(111)
    grouped_men.plot(kind='line', ax=ax, label='Mens age vs oldpeak')
    grouped_women.plot(kind='line', ax=ax, label='Womens age vs oldpeak')
    plt.gca().legend(title="Legend title")  # Changes
    plt.show()
    

    【讨论】:

    • 它的部分工作原理与图例右上角的图例一样,用 2 种颜色显示图例,但名称是 'old peak' 而不是 'Mens Age' 和 'Womens Age'。
    • 尝试指定图例的标题:.legend(title='you title')
    • 实际上,它通过给出 .legend(['Mens Age', 'Womens Age']) 起作用
    猜你喜欢
    • 1970-01-01
    • 2018-12-05
    • 2012-10-18
    • 1970-01-01
    • 1970-01-01
    • 2017-06-19
    • 1970-01-01
    • 2023-04-02
    • 2021-09-05
    相关资源
    最近更新 更多