【发布时间】:2021-02-09 20:21:14
【问题描述】:
我正在尝试创建一周内道路交通的动画地图(通过生成多个图),其中道路的厚度由一天中特定时间的交通量表示。
这就是我正在寻找的东西(但每天的每个小时):
数据的结构如下所示:
HMGNS_LNK_ID geometry DOW Hour Normalised Value
2 MULTILINESTRING ((251... 1 0 0.233623
2 MULTILINESTRING ((251... 1 1 0.136391
2 MULTILINESTRING ((251... 1 2 0.108916
DOW 代表“星期几”(1 = 星期一),因此对于 7 天中的每一天的每个 Hour,我想用值 Normalised Value 绘制道路厚度的地图。
我在尝试循环这段代码时遇到了一个问题:
for dow in df['DOW']:
fig, ax = plt.subplots(1)
day_df = df[df['DOW']==dow]
for hour in day_df['Hour']:
day_hour_df = day_df[day_df['Hour']==hour]
day_hour_df.plot(ax=ax, linewidth=day_hour_df['Normalised Value'])
plt.savefig("day{}_hour{}.png".format(dow, hour), dpi = 200, facecolor='#333333')
问题是这些数字只保存了第一天,所以直到day1_hour_23 之后,它又回到day1_hour0 并用新的东西覆盖了情节。我不明白为什么它停在DOW 2。
我什至不确定数据结构是否正确。我将不胜感激任何帮助。请在我的repo 中找到完整代码。
干杯!
【问题讨论】:
标签: python matplotlib gis geospatial geopandas