我有一个大型数据集,包含7000多行300列。我正在处理诊断和住院时间。我想为每个诊断绘制一个图(因此,xlabel
中的条形图与患者数相同,而ylabel
中的条形图是每位进行该诊断的患者的天数)。
但是,我想对每个图都有不同的标题,以便知道该图所指的每个诊断。我的意思是,例如,对于心脏病发作,我希望标题是“心脏病发作”,但是对于其他诊断,我想要另一个标题。我希望它以自动方式进行。那可能吗?我在下面显示我的代码,但我知道它是不正确的。
此外,我希望xlabel
和ylabel
出现在每个情节中,这是不知道的事。它只是出现在最后一个。
有人可以帮助我吗?
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()
答案 0 :(得分:0)
我相信您的标签不会显示,因为您没有为要绘制的每个图明确设置标签。
当我做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)
语句,这样会保存您的所有绘图