前几天和几个朋友一直在讨论Voronoi Diagram(维诺图)的制作方法,也找到了一些资料,但限于能力,总是不得要领。
巧的是,最近Public推荐里Tristan Guillevin小哥哥的Voronoi Treemap,实在是让人耳目一新,更重要的是,他提供了制作数据的方法,只要登录网站,上传数据即可导出可用的数据集,实在是不能再简单了。
地址:https://public.tableau.com/profile/guillevin#!/vizhome/LandOfColors/Landofcolors
构造数据集
数据集我就用以前做旭日图用过的,存成csv格式
category,sub category,value
Europe,United Kingdom,4000000
Europe,France,800000
Europe,Germany,700000
Europe,Spain,500000
Asia Pacific,Singapore,1500000
Asia Pacific,Hong Kong,1000000
Asia Pacific,Japan,500000
North America,United States,700000
North America,Mexico,300000
- 登录网站
https://observablehq.com/@ladataviz/wip-voronoi-data-generator
- 替换掉默认数据
- 编辑分组,网站提供了预览,可以根据自己的需要进行选择
- 最后下载数据,保存成csv格式即可。
创建图表
- 导入数据
这里用的是多边形,x、y是多边形上各个点的坐标,path是绘制多边形的路径,group是大类,split是二级分类。
- 在列功能区AVG([x])字段,在行功能区AVG([y])字段
- 标记类型选择“多边形”,[path]拖到路径
- 将[group]拖到“颜色”
- 将[split]拖到“详细信息”,也可以再改成“颜色”
颜色可以根据自己需求调整,比如就只用[value],或者自定义其他字段,但是[group]和[split]是必须要有的,因为这决定了视图的详细级别
- 在“颜色”编辑里,边框改成白色
如果操作正确,基本雏形就出来了
下面需要增加标签
- 在列功能区再增加一个AVG([x])字段
- 标记类型改成“圆”
- 只保留[split]并改成“文本”
- 增加一个AVG[value],并改成“文本”
如下图所示
- 选择双轴,并同步轴,就可以大功告成了
- 如果想隐藏图中的圆点,可以把两个AVG([x])换个位置
这里要特别说一下,以前我特别喜欢[x]、[y]字段拖到行列功能区,然后取消聚合,这样就把数据变成了维度,现在看来这样做还是有问题的。
多边形本身是无法增加标签的,我取消聚合的做法,也无法通过双轴增加标签。以前没有注意过这个问题。
学习了大神的做法后发现,通过计算平均值的方法,可以很方便的给多边形增加标签。
此篇文章已发布到我的公众号:saodisir,有兴趣也可关注一下