【问题标题】:How to set legend of different plots depending on the category?如何根据类别设置不同情节的图例?
【发布时间】:2020-05-19 11:05:45
【问题描述】:

我有一个大型数据集,有 7000 多行和 300 列。我正在处理诊断和住院时间。我想为每个诊断绘制一个图(因此,xlabel 中的条形与患者一样多,ylabel 中是每个患者进行该诊断的天数)。

但是,我想为每个情节设置不同的标题,以便了解情节所指的每个诊断。我的意思是,例如,对于心脏病发作,我希望标题是“心脏病发作”,但是对于不同的诊断,我想要另一个标题。我希望它以自动方式完成。那可能吗?我在下面显示我的代码,但我知道它不正确。

此外,我希望xlabelylabel 出现在每个情节中,没有发生的事情就知道了。它只出现在最后一个。

谁能帮帮我?

df_n = df[['Diagnose','Length of Stay']]
df_n.groupby('Diagnose').plot(kind = 'bar')
plt.xlabel('Patients')
plt.ylabel('Length of Stay (Days)')
plt.title('Length of Stay for Diagnose') # I want it to be the name of the diagnose
plt.show()

【问题讨论】:

    标签: python dataframe matplotlib legend


    【解决方案1】:

    我相信您的标签没有显示,因为您没有为您将制作的每个情节明确设置它们。 当我做groupby 时,我喜欢制作字典。每个诊断都是一个键,值是数据框

    a = dict(tuple(df_n.groupby('Diagnose')))
    for key, value in a.items():
         value.plot(kind = 'bar')
         plt.title('{}'.format(key))
    

    在 for 循环下,您可以一次设置所有格式,它会为每个图形执行此操作。您可以输入plt.savefig('{0}.eps'.format(k) 语句,这将保存您的所有绘图

    【讨论】:

      猜你喜欢
      • 2021-12-14
      • 2020-12-23
      • 2015-01-17
      • 2021-05-01
      • 2016-06-04
      • 2019-11-06
      • 1970-01-01
      • 2022-09-25
      相关资源
      最近更新 更多