今天咱们来绘制一个知识图谱怎么样?

浏览: 2882

知识图谱,也称为科学知识图谱,它通过将应用数学、图形学、信息可视化技术、信息科学等学科的理论与方法与计量学引文分析、共现分析等方法结合,并利用可视化的图谱形象地展示学科的核心结构、发展历史、前沿领域以及整体知识架构达到多学科融合目的的现代理论。为学科研究提供切实的、有价值的参考。

今天我们借助networkD3包里面的simpleNetwork 函数来绘制一个类似CSDN微信开发的知识图谱,效果图如下:

Clipboard Image.png

首先我们先来分析一下这张图,图里面的微信支付——微信支付小程序——小程序,等这些,它们之间本不需要连线,但这里是为了美观好看,才有这些连线,但实际却没有什么意义。使用simpleNetwork 函数不能绘制类似微信支付——微信支付 的这种关系。我把这些数据整理写在了一个TXT文件里面,截图如下。


接下来我们分析一下 simpleNetwork,它的原型如下:

simpleNetwork(Data, Source = NULL, Target = NULL, height = NULL,
  width = NULL, linkDistance = 50, charge = -200, fontSize = 7,
  fontFamily = "serif", linkColour = "#666", nodeColour = "#3182bd",
  nodeClickColour = "#E34A33", textColour = "#3182bd", opacity = 0.6,
  zoom = F)

参数解释如下:

Clipboard Image.png

Clipboard Image.png

我想这里有了上面这个参数表,大家肯定就会对simpleNetwork这个函数十分了解了。首先我们来一个最简单。

data<-read.table("network.txt",header = FALSE, sep = "")#读取数据
simpleNetwork(data)

结果如下:



现在我们就多加一些参数,然后看一下整体效果。

simpleNetwork(data,#数据
       fontFamily="华文行楷",#字体设置
       linkColour="#B23AEE",#连线颜色
       nodeColour="#00CD66",#节点颜色
       textColour="#0000FF",#文本颜色
       charge = -550,#节点之间的引力
       opacity=0.9,#透明度
       zoom=TRUE #可缩放
)


结果如下:


至于其他参数大家可以自己去试试。公众号里面回复  simpleNetwork,即可获取这次试用到的数据以及 RGB颜色查询对照表。


推荐 0
本文由 王亨 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册