首页 > 解决方案 > 绘制 pandas DataFrame - group by - 如何为每个生成的图添加不同的标题

问题描述

我有一个熊猫数据框,想根据特定字段绘制一个值与另一个值。所以我在“主题”中有 5 种不同的类型,我想分别绘制。目前代码如下。

    dfCombinedToPlot.groupby('Topic').plot(x='DataValue', y='CasesPer100kPop', style='o')  
    # plt.title()  Want this to equal "'Topic' vs number of cases"
    # plt.xlabel() Want this to equal 'Topic'  
    # plt.ylabel()  
    plt.show()

我有 3 个问题。1. 我可以为每个主题添加一个与主题匹配的标题/xlabel吗?所以如果主题是“哮喘”,我希望标题/x 标签是“哮喘”,然后下一个是“支气管炎”,依此类推。2. 如果可能的话,我想将它们添加到同一个情节上,当我看到它们时我会决定有多少看起来不错。我该怎么做呢?3.(奖金问题!!)我可以轻松地为每个情节添加“最合适”的线吗?

谢谢大家。

标签: pythonpandasplot

解决方案


groupby.plot方法返回可用于设置标题的轴列表,例如,如果只有两个轴:

axes = dfCombinedToPlot.groupby('Topic').plot(x='DataValue', y='CasesPer100kPop', style='o')

titles = ['Asthma', 'Bronchitis']
count = 0
for ax in axes:
    ax.set_title(f'{titles[count]}')
    ax.set_xlabel(f'{titles[count]}')
    count += 1

plt.show()

为了做到最好,我假设是一个线性回归,所以可能值得检查regplot


推荐阅读