根据字典绘制多个数字



我有一本字典,它存储了20多个纬度、经度位置10年来的每月温度数据。我想循环浏览这本字典,绘制20多个不同的折线图。在这里,我提供了数据的来源(一个netcdf文件(,在时间上分割了一个十年,然后输出字典条目值。

data=xr.open_dataset('E:/Riskpulse_HD/Jon climate study/adaptor.mars.internal-1583855532.1432714-8122-5-ace27afd-90c0-4a7d-b9ca-f3d5528c5ea1.nc')    
time = data['time']
start_date1 = dt.datetime(1990,1,1)
end_date1 = dt.datetime(1999,12,31)
times1=time.sel(time=slice(start_date1,end_date1))
cities['Shanghai']['1990s']
<xarray.DataArray 't2m' (time: 120)>
array([13.714203 , 13.964508 , 15.832062 , 19.553162 , 21.987793 ,
25.075317 , 26.624298 , 26.381012 , 24.993042 , 23.088745 ,...

现在,我尝试设置一个循环,循环遍历字典中唯一更改城市名称的键。

for i in len(cities.keys()):
plt.plot(times1['time'],cities[i]['1990s'])

理想情况下,我会得到20多个不同的线图,对应于字典中的所有城市,但我得到了这个错误。

TypeError: 'int' object is not iterable

您正在使用len((函数来获取字典的大小(它将是一个整数(并对其进行迭代,这是不可能的。我想这就是你想要做的:

for i in cities.keys():
plt.plot(times1['time'],cities[i]['1990s'])

最新更新