我有以下形式的数据:
Year Month State Value
2001 Jan AK 80
2001 Feb AK 40
2001 Mar AK 60
2001 Jan LA 70
2001 Feb LA 79
2001 Mar LA 69
2001 Jan KS 65
.
.
此数据仅适用于2001年,每个州都重复月份。
我想要一个基于状态的基本数据图,其中以X轴为月,Y轴为值。
当我绘图时:
g = df.groupby('State')
for state, data in g:
plt.plot(df['Month'], df['Value'], label=state)
plt.show()
我得到一个非常古怪的图形。
我知道根据单独绘制这些图形,它们在行为上并没有很大差异,但是它们甚至几乎没有这么多重叠。
有没有办法建立更多连续图?
答案 0 :(得分:1)
您的问题是,在您的for循环中,您引用的是df
,它仍然具有所有状态的数据。试试:
for state, data in g:
plt.plot(data['Month'], data['Value'], label = state)
plt.legend()
plt.show()
希望这会有所帮助!