我以前写过一篇文章 《用Tableau制作网络关系图》,里面提到了Tableau本身不支持自动生成网络关系图,需要借助其他软件。提供Voronoi Treemap制作方法的Tristan Guillevin小哥哥,也提供了一个自动生成网络关系图的方法。稍微有一点点难度,我现在把方法介绍一下。
博客地址:
https://ladataviz.com/2019/12/15/build-a-network-graph-in-tableau-in-three-steps/
数据生成网站:
https://observablehq.com/@ladataviz/network-data-generator
创建数据集
唯一的一点点难度就在数据集的制作上,需要自己制作JSON文件,我用最简单的例子介绍:
{
"nodes": [
{ "id":"A","size":2},
{ "id":"B","size":1},
{ "id":"C","size":1}
],
"links": [
{ "source":"A","target":"B"},
{ "source":"A","target":"C"}
]
}
网络关系图需要两类数据,一类是节点,也就是“nodes”里面的数据,这个数据必需包含所有的节点,id就是节点的唯一名称。size是节点的大小,但不是必需的,没有可以删除,只保留id即可。我这个例子里只有ABC三个节点。
另一类数据是线,source是起始点,target是结束点,节点名称必需是上面的id里出现过的。我这个数据只有A到B和A到C两条线。
所以你需要把数据整理好(不论你用什么工具),然后保存成.json格式,才能进行后面的步骤。
网站生成数据集
- 登陆上面的数据生成网站,通过Replace按钮更新数据集。
- 通过Config,调整图形。
- 在回到上面,点击Download Nodes和Download Links按钮,下载nodes.csv和links.csv两个文件,放到同一文件夹下。
替换模板数据集
- 下载Guillevin提供的模板。
https://public.tableau.com/profile/guillevin#!/vizhome/Template-NetworkGraph/SimpleNetworkGraph
- 选择提取数据。
- 错误提示选择“是”,
- 在弹出菜单中,选择上面下载好的nodes.csv,并打开。但可能会报错。如果遇到数据没有认出的情况,选择文本文件属性,修改一下区域。
- 最后保证nodes.csv和links.csv,能通过id字段进行左连接。
- 回到工作簿,模板中添加了一些交互,选中的节点和线会变成蓝色,其他就可以根据自己的需求修改了。
关于自己制作
自己制作也比较简单,我简单说一下。
首先按照上面的步骤nodes.csv和links.csv进行左连接(如果你确定nodes节点全部都有线相连,不会出现没有任何关系的、孤立的节点,那么只用links.csv也可以)。
然后x(nodes.csv)和x(links.csv)进行双轴并同步轴,取消聚合,nodes选圆,links选线,Key作为线的路径,基本就可以成功了。
至于点击交互的部分,大家最好下载模板研究一下,也不难。
此篇文章已发布到我的公众号: saodisir,有兴趣也可关注一下
网友评论