wuhan2020/map-viz

视图设计:目标生成什么可视化

tongshuangwu opened this issue · 6 comments

存档之前的讨论:

地图设计

scatter+map:可以用于绘制具体信息,如医院求助、物资求助
heatmap+map: 最贴近丁香医生的视图信息
[scatter+heatmap+map]: 背景颜色是城区的某个统计信息,点是重要的坐标信息
binning on map:应该是相当于对丁香医生那个设计的直接细化,把一个城市分割成小格点。如果删掉grid,zoom out足够多之后县市级别的视觉效果应该比较偏近丁香医生的展示。当然应该也可以根据zoom程度重做binning,不过应该不必要这么复杂

hierarchical绘制: 点击一个省,只重绘省的地图,与上面的地图无限zoom-in相对应。其他encoding可以复用。

交互设计

  1. 可以包含timeline做时序filtering(也可以有线图显示一些统计信息)

另外就地图设计来说,个人觉得主要是两类地图
第一类是使用scatter的map,主要是在地图上标记点,呈现信息(主要是医院物资的求助)。
另一类是使用heatmap,按照区域热力图信息(主要是确诊人数等信息)。

然后针对scatter+map,我现在想到的有如下feature:
1、可以根据输入参数在对应的坐标上放置标记点,呈现求助信息。
1-1、求助信息根据不同类别呈现不同样式。
1-2、求助信息可以筛选和过滤。
2、地图可缩放。

针对heatmap,我现在想到的有如下feature:
1、实现timeline,根据时序呈现信息。
2、heatmap的粒度可调整,也就是可以查看**每个省的感染情况,也可以查看某省每个市的感染情况。
3、实现line-chart,以折线图的形式呈现感染数据。

除了核心可视化,是不是也需要信息的筛选和过滤的组件,可以将string entry和number entry map到checkbox和slider

这里我的建议是,既然要做地图组件,我们就做纯粹的地图组件,如果要筛选,直接让前端的同学过滤了数据后传到我们组件中来,我们的地图组件重新渲染即可。
这样一是给予前端的同学更大的自由度,他们可以自行决定checkbox或者slider的位置以及对应的事件,二是我们的地图组件也会更加健壮和稳定~

嗯,也有道理,实际上我们也可以把地图打造成其中一种筛选控制,比如点击省份可以帮助他们筛选相应医院等等,只不过会需要允许他们传入mouseevent~

记录一些slack上的讨论:
Q:地图填色是否误导?
A:行政区划填色确实有误导性,这个历史上讨论的比较多了,主要是面积这个隐含维度的影响。但是因为我们是交互地图,可视化主要是一种指引,引导观者去查看各行政区的具体数值,我觉得没有什么大问题

Q:是否应该改用点图?
A:点图对字的遮挡和彼此遮挡太严重了。

Q:是否应该改用热力图?
A:热力图和+大小的散点图主要便于展示趋势,未必适合引导观察数据。热力图与行政区划配合不好,散点图可能有比较严重的遮盖

cr: @yarray