python-visualization / python-visualization/folium
Time Slider with Varying MultiPolygon Size by Time Stamp
还没有人认领这个 Issue。
- 主要语言
- Python
- 星标
- 7.4k
- 派生
- 2.3k
- 平均合并
- 17 小时 22 分钟
- 30 天内合并 PR
- 11
描述
I'm trying to create a time slider which varies by day, however, 1) all MultiPolygons are initially displayed at once for the first time stamp and 2) if I use the slider from the start to the end of the slider, all previous time steps are overlaid by the final time step.
Note: All MultiPolygons are not consistent in terms of shape/size. I think this is related to the issue.
Here's a screen capture of the issue:

There shouldn't be any overlapping lines on the map for the initial time stamp.
The final slide looks good:

However, once I scroll through all slides once, all data is overlaid by the final time stamp:

Here's the important part of the script:
#---create a style dictionary
styledata = {}
for i in range(allgpd.shape[0]):
subset = allgpd.iloc[i]
idxname = pd.Index([subset.times], dtype="U10")
df = pd.DataFrame({"color": allgpd['color'][i],"opacity": 1,},index=idxname,)
styledata[i] = df
#---reformat
styledict = {str(idx): data.to_dict(orient="index") for idx, data in styledata.items()}
#---create the folium slider
m = folium.Map(location=[qlat, qlon], zoom_start=6)
g = TimeSliderChoropleth(
allgpd.to_json(),
styledict=styledict,
control=True,
overlay=True, show=False).add_to(m)
m
I also attached my script in its entirety to this thread, as well (script.txt).
Environment details (Jupyter Notebook):
System: sys.version_info(major=3, minor=9, micro=12, releaselevel='final', serial=0)
Folium: 0.14.0
Branca: 0.6.0
I attached the data to this thread (data.zip).
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
从 script.txt 开始,使用 issue 中所示的 data.zip 和 TimeSliderChoropleth 设置,在 Jupyter Notebook 环境中复现该问题。检查形状各异的 MultiPolygon 如何跨时间戳表示,以及 slider 如何在它们之间进行过渡。完成的标准是:初始时间戳只显示其自身的几何图形,并且在 slider 上移动时不会留下之前时间戳或最终时间戳的数据叠加层。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- jupyter-notebook, pandas, python
- 领域
- data-visualization
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100