我已经开始学习matplotlib,我已经为一项任务奋斗了一段时间。我有一个数据框,看起来像下面的那个。我想用年份作为x轴值,用每个城市(即每行)作为自己的图来绘制。看似简单的任务(在excel中点击一下),但我仍然没有找到一个可行的方法来完成。每个具有类似 Dataframe 的教程似乎都交换了轴(一列中的年份)。
城市19901991…20192020城市102…57城市201…-5-8城市30-5…-17-30
我得到的最接近的方法是使用2 for循环遍历行和年份,并将每个值追加到列表中(toplot是我的 Dataframe ):
years = range(1990,2021)
for rowIndex in range(0,9):
datapoints = []
for year in years:
datapoints.append(toPlot.loc[rowIndex, year])
plt.plot(years,datapoints)
它对2行按预期工作,但当它达到rowindex=2时,由于某种原因会引发一个keyerror。因此,在我的9行中,只有两行被绘制。如图所示
然而,我也需要在一个传奇中获得城市名称,我不知道我的方法是否可行。
我如何才能最好地解决这个问题并正确地绘制值?
1条答案
按热度按时间nqwrtyyt1#
看起来您只需要转换数据。如果您有一个数据框,默认情况下matplotlib将把数据框的索引放在x轴上,并将分别绘制每一列。