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. ...
随机推荐
- Python学习笔记整理总结【MySQL】
一. 数据库介绍 1.什么是数据库?数据库(Database)是按照数据结构来组织.存储和管理数据的仓库.每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据.我们也可以将 ...
- samba + OPENldap 搭建文件共享服务器
samba + OPENldap 搭建文件共享服务器 这里我使用的是 samba(文件共享服务) v4.9.1 + OPENldap(后端数据库软件) v2.4.44 + smbldap-tools( ...
- 面试官:都说阻塞 I/O 模型将会使线程休眠,为什么 Java 线程状态却是 RUNNABLE?
摘要: 原创出处 https://studyidea.cn 「公众号:程序通事 」欢迎关注和转载,保留摘要,谢谢! 使用 Java 阻塞 I/O 模型读取数据,将会导致线程阻塞,线程将会进入休眠,从而 ...
- sql server编写archive通用模板脚本实现自动分批删除数据
博主做过比较多项目的archive脚本编写,对于这种删除数据的脚本开发,肯定是一开始的话用最简单的一个delete语句,然后由于部分表数据量比较大啊,索引比较多啊,会发现删除数据很慢而且影响系统的正常 ...
- Spring boot 梳理 - 显示Springboot默认自动生成的bean
@Autowired public ApplicationContext context; @Bean public ViewResolver freeMarkerViewResolver(){ St ...
- 阿里云服务器ecs配置之安装redis服务
一.介绍 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括st ...
- 教你使用Cocos Creator制作国旗头像生成器,附源码!
关注「编程小王子」公众号回复[头像生成器]获得源码! 下面我重点介绍一下Cocos Creator H5头像生成的实现方法: 获取手机相册图片 在 Cocos Creator 中加载相册图片 Coco ...
- Tomcat源码分析一:编译Tomcat源码
Tomcat源码分析一:编译Tomcat源码 1 内容介绍 在之前的<Servlet与Tomcat运行示例>一文中,给大家带来如何在Tomcat中部署Servlet应用的相关步骤,本文将就 ...
- Web调用Linux客户端remmina运维
相信你遇到过这样的场景,在浏览器网页中点击QQ图标咨询,就能唤起本机的装的qq或tim,下载百度网盘的资源的时候,点击链接浏览器会启动本地百度云进行下载. 最近因为项目需要,也要实现类似的操作,不 ...
- 分享8点超级有用的Python编程建议
我们在用Python进行机器学习建模项目的时候,每个人都会有自己的一套项目文件管理的习惯,我自己也有一套方法,是自己曾经踩过的坑总结出来的,现在在这里分享一下给大家,希望多少有些地方可以给大家借鉴.