R 语言科研绘图第 55 期 --- 网络图-聚类

在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。

为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式:

R 语言科研绘图模板 --- sciRplothttps://mp.weixin.qq.com/s/QA_8LVqjkdg4A16zLonw4w?payreadticket=HIl1u0R0gNeyNyCN_bxtK0Bl-Z2i4aXlDjgPRULk7ACBWZHgSz929NosnpisoG6PSTPIzzQ

本期绘图预览:

1. 导入包

我们首先导入本期绘图用到的 R 包:

复制代码
library(igraph)

2. 准备数据

接下来我们导入绘图用到的数据,在 sciRplot 中给大家提供了测试数据:

复制代码
data <- sciRplot_data

查看下数据格式:

3. 准备配色

颜色的选择往往是一件让人特别纠结的事情,这里我们直接使用 sciRcolor 来设置配色:

复制代码
colors <- sciRcolor::pal_scircolor(37)[1:2]mark_colors <- sciRcolor::pal_scircolor(37, alpha = 0.5)[1:2]vertex.color <- rep(colors[1],34)vertex.color[c(9,15,16,19,21,23,24,25,26,27,28,29,30,31,32,33,34)] <- colors[2]

sciRcolor 是为了 R 语言科研绘图开发的配色工具,包含了 100 种常用配色,详细信息见:

R 语言科研配色工具 --- sciRcolorhttps://mp.weixin.qq.com/s/XZol4VxvHnJD_49ij3f2mg?payreadticket=HBOfLX7uX_FTHomAgepY7KP1c2pkFvlWXw9uc4BaHthUnSsNHWNKqbSv3wUdVAvs-hAr8dA

4. 绘制图形

接下来我们通过下面的代码来绘制图形:

复制代码
layout <- layout_with_kk(g)V(g)$vertex.color <- vertex.colorplot(ldc, g, layout=layout, vertex.size = 20, palette = colors,     mark.col = mark_colors, mark.border=colors,     edge.color = "black", vertex.label.cex = 2,      vertex.label.color = 'white')

5. 保存图形

最后我们保存绘制的图形:​​​​​​​

复制代码
png("save/network-cluster.png", width = 1800, height = 1800, res=300, units = 'px')layout <- layout_with_kk(g)V(g)$vertex.color <- vertex.colorplot(ldc, g, layout=layout, vertex.size = 20, palette = colors,     mark.col = mark_colors, mark.border=colors,     edge.color = "black", vertex.label.cex = 2,      vertex.label.color = 'white')dev.off()

sciRplot 介绍

为了解决 R 语言中科研绘图的问题,我推出了 sciRplot 项目。sciRplot 项目包含了以下内容:

100 种绘图代码,按照图形类型进行分类,包含 60基础绘图40进阶绘图

② 配备一站式 html文档 ,包含测试数据 ,代码一键复制交互式阅读提高用户体验

相关推荐
Evand J1 小时前
【MATLAB例程】基于USBL和DVL的线性回归误差补偿,对USBL和DVL导航数据进行相互补偿,提高定位精度,附代码下载链接
开发语言·matlab·线性回归·水下定位·usbl·dvl
爱喝白开水a2 小时前
LangChain 基础系列之 Prompt 工程详解:从设计原理到实战模板_langchain prompt
开发语言·数据库·人工智能·python·langchain·prompt·知识图谱
Neverfadeaway2 小时前
【C语言】深入理解函数指针数组应用(4)
c语言·开发语言·算法·回调函数·转移表·c语言实现计算器
武子康2 小时前
Java-152 深入浅出 MongoDB 索引详解 从 MongoDB B-树 到 MySQL B+树 索引机制、数据结构与应用场景的全面对比分析
java·开发语言·数据库·sql·mongodb·性能优化·nosql
杰克尼2 小时前
JavaWeb_p165部门管理
java·开发语言·前端
一成码农2 小时前
JavaSE面向对象(下)
java·开发语言
偶尔的鼠标人3 小时前
Avalonia DataGrid 控件的LostFocus事件会多次触发
开发语言·c#
晚风残3 小时前
【C++ Primer】第十二章:动态内存管理
开发语言·c++·c++ primer
_extraordinary_3 小时前
Java Spring日志
java·开发语言·spring
初圣魔门首席弟子3 小时前
【C++ 学习】单词统计器:从 “代码乱炖” 到 “清晰可品” 的复习笔记
开发语言·c++