R语言:绘制知识图谱
知识图谱主要是通过将应用数学,图形学,信息可视化技术,信息科学等学科的理论与方法与计量学引文分析、共现分析等方法结合,利用可视化的图谱形象地展示学科的核心结构、发展历史、前沿领域以及整体知识架构达到多学科融合目的的现代理论。
今天我们借助networkD3包里面的simpleNetwork 函数来绘制一个类似CSDN微信开发的知识图谱,效果图如下:
首先我们先来分析一下这张图,图里面的微信支付——微信支付,小程序——小程序,等这些,它们之间本不需要连线,但这里是为了美观好看,才有这些连线,但实际却没有什么意义。使用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)
参数解释如下:
|
Data |
数据源 |
|
Source |
默认为数据框的第一行,网络源变量 |
|
Target |
默认为数据框的第二行,网络源目标变量 |
|
height |
设置图像所占页面大小 |
|
width |
设置图像所占页面大小 |
|
linkDistance |
中间连线的长度,默认为50,数值越大,连线越长 |
|
charge |
点与点之间的吸引力,值越大,点与点之间距离越近,值越小,点与点之间距离越大 |
|
fontSize |
节点名称字体大小 |
|
fontFamily |
设置标签字体 |
|
linkColour |
连线颜色 |
|
nodeColour |
节点颜色 |
|
nodeClickColour |
点击后颜色 |
|
textColour |
字体颜色 |
|
opacity |
opacity=0时,透明度为0,看不到图像,最大值为1,超过1也默认为1 |
|
zoom |
逻辑值为true是可以缩放,false时无法缩放 |
我想这里有了上面这个参数表,大家肯定就会对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 #可缩放
结果如下:
至于其他参数大家可以自己去试试。,关注我的微信公众号《跟着菜鸟一起学R语言》,回复simpleNetwork,即可获取这次试用到的数据以及
RGB颜色查询对照表。
转载请注明原文链接:http://blog.csdn.net/wzgl__wh/article/details/53290514
R语言:绘制知识图谱的更多相关文章
- 用几分钟了解R语言入门知识
第一篇——用几分钟了解R语言入门知识 第二篇——用几分钟了解R语言入门知识(续) 关于数据分析学习笔记的计划(以及目录)
- R语言绘制相对性关系图
准备 第一步就是安装R语言环境以及RStudio 图绘制准备 首先安装库文件,敲入指令,回车 install.packages('corrplot') 然后安装excel导入的插件,点击右上角impo ...
- 一幅图解决R语言绘制图例的各种问题
一幅图解决R语言绘制图例的各种问题 用R语言画图的小伙伴们有木有这样的感受,"命令写的很完整,运行没有报错,可图例藏哪去了?""图画的很美,怎么总是图例不协调?" ...
- R语言绘制空间热力图
先上图 R语言的REmap包拥有非常强大的空间热力图以及空间迁移图功能,里面内置了国内外诸多城市坐标数据,使用起来方便快捷. 开始 首先安装相关包 install_packages("dev ...
- R语言绘制花瓣图flower plot
R语言中有很多现成的R包,可以绘制venn图,但是最多支持5组,当组别数大于5时,venn图即使能够画出来,看上去也非常复杂,不够直观: 在实际的数据分析中,组别大于5的情况还是经常遇到的,这是就可以 ...
- R语言绘制沈阳地铁线路图
##使用leaflet绘制地铁线路图,要求 ##(1)图中绘制地铁线路 library(dplyr) library(leaflet) library(data.table) stations< ...
- R语言绘制QQ图
无论是直方图还是经验分布图,要从比较上鉴别样本是否处近似于某种类型的分布是困难的 QQ图可以帮我们鉴别样本的分布是否近似于某种类型的分布 R语言,代码如下: > qqnorm(w);qqline ...
- R语言 入门知识--常用操作和例子
1 R的下载.安转 (转)R有很多的版本,支持目前主流的操作系统MAC.Linux和WINDOWS系列.因为我个人是在WINDOWS下用R的,所以在这里将只介绍WINDOWS下R的下载&安 ...
- R语言绘制直方图,
直方图: 核密度函数: 练习题目1: 绘制出15位同学体重的直方图和核密度估计图,并与正态分布的概率密度函数作对比 代码如下: > w <- c(75.0, 64.0, 47.4, 66. ...
随机推荐
- 基于Coravel定时任务之物联网设备数量统计
目录 基于Coravel定时任务之物联网设备数量统计 1 应用背景 2 对比各家定时库 2.1 TaskScheduler 2.2 Fluent Scheduler 2.3 Quartz.net 2. ...
- Spring boot 梳理 - 模版引擎 -freemarker
开发环境中关闭缓存 spring: thymeleaf: cache: false freemarker: cache: false Spring boot 集成 freemarker <dep ...
- java+maven+jenkins+svn构建
操作参照:https://blog.csdn.net/qq_34977342/article/details/82346915 1.创建一个自由风格的项目,起名字 2.设置构建项目最大保存数量,与天数 ...
- HTML学习之轮播图
这可以说是一种非常简单的实现轮播图的方法了,由于时间仓促所以没写自动轮播部分.简单说一下原理吧,就是把所有图片堆叠在一个盒子里,设置所有图片的透明度为0,这样就把所有图片都隐藏了,第一张图片除外(第一 ...
- Win10 安装配置 MongoDB 4.0 踩坑记
redis 官方没有 Windows 版的,微软维护的已经好久没更新了,所以就在想着换成 MongoDB. 于是一趟被我复杂化的踩坑之旅就开始了,同时也记录一下,避免有人遇见跟我一样的问题. 首先在 ...
- 跨域及JSONP原理
什么是跨域:a.com 域名下的js无法操作b.com或是c.a.com域名下的对象 为什么浏览器要引入跨域问题? 跨域问题来源于浏览器的同源策略,为啥要有这个策略呢? 为了安全.假设现在有a.com ...
- CSS 预处理语言之 Scss 篇
简介 1. Sass 和 Scss Sass 和 Scss 其实是同一种东西,我们平时都称之为 Sass:Scss 是 Sass 3 引入新的语法,其语法完全兼容 CSS3,并且继承了 Sass 的强 ...
- 【MySQL】java.sql.SQLException: The server time zone value
错误:Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: The se ...
- mysql 分页offset过大性能问题解决思路
在公司干活一般使用sqlserver数据库.rownumber分页贼好用. 但是晚上下班搞自己的事情就不用sqlserver了.原因就是自己的渣渣1核2g的小服务器完全扛不住sqlserver那么大的 ...
- Python制作有道翻译小工具
该工具主要是利用了爬虫,爬取web有道翻译的内容. 然后利用简易GUI来可视化结果. 首先我们进入有道词典的首页,并点击翻译结果的审查元素 之后request响应网页,并分析网页,定位到翻译结果. 使 ...