Member-only story

如何用 R 绘制交互式社会网络图?

Shuyi Wang
13 min readJun 20, 2022

--

挖掘社会关系网络,助你洞若观火。

需求

最近有个学生问我,如何绘制交互式社会网络图(Interactive Social Network Graph)?

之所以一定要交互式,是因为他的应用场景,是演示给客户。

他解释说,如果客户有选项,可以根据需要来缩放图形、聚焦类别,甚至是可以拖拽图形元素,以不同视角来查看,那展示效果显然会更好。

我对学生这次把握客户需求的能力,还是比较赞赏的。确实,数据可视化的目的就是为了与人沟通。而人是需要控制感的。

在数据科学里,这个需求,属于网络可视化(Network Visualization)范畴。应用上,除了描绘社会网络外,这种可视化的对象还可以包括引文网络、贸易网络、信息(或疾病)传播网络等。甚至,网络可视化操作还能与时序数据结合,例如 Maximilian Noichl 绘制的这张古代哲学家的动态关系网络图。

网络可视化的工具,是非常多的。

然而,一旦涉及了交互式,选项就大幅减少了。特别是,他还要求免费易学格式开放、演示环境易于部署……

这条件,够苛刻了吧?

还好,我还真就帮他找到了。

虽然易学,可是由于他是文科生,我觉得还是给他写个教程,比较妥帖。

教程写完之后,我觉得你可能也会用得上,所以一并分享给你。

演示数据,我自然不能用他的。否则有泄露商业机密的风险。这里我采用的,是斯坦福大学开放课程《数据库基础》中的一个简单数据样例。我在国际班讲的 英文数据库课程,一直用它作为练习数据。

这个演示数据的特点,就是简单。

有多简单?往下看。

数据

该数据刻画的,是某高中里 4 个年级部分学生之间的社交关系。

我们一共需要用到 3 张数据表格,分别是学生信息、朋友关系和 “喜欢” 关系。

--

--

Shuyi Wang
Shuyi Wang

Written by Shuyi Wang

PhD in Information Science. Associate Professor at Tianjin Normal University. Former Adjunct Faculty at UNT. First Prize Winner of HackNTX 2018.

Responses (1)