R语言可视化:高大上的弦图绘制教程
"R语言可视化绘图_弦图" 在数据可视化领域,R语言提供了丰富的库和工具,其中statnet和circlize是用于创建复杂和美观图表的两个重要包。弦图(Chord Diagram)是一种特殊的图表类型,它特别适合展示数据之间的相互关系和连接。相较于传统的柱状图或折线图,弦图能够直观地展示网络结构,特别是在有多个类别且类别之间存在交互关系的数据中,弦图的表现力更强。 在这个资源中,作者使用了R语言的`statnet`和`circlize`包来创建弦图。`statnet`包主要用于社会网络分析,而`circlize`则是一个专门用于圆形布局的图形包,它可以方便地创建各种类型的圆形图表,包括弦图。 首先,作者导入了必要的库,并读取了一个CSV文件中的数据,该文件位于"C:/Users/hppro/Desktop/ͼ.csv"。数据被转换为矩阵并设置行名,这些行名对应于四种不同的类别,即"CCK"、"CNPK"、"GCCK"和"GCNPK",列名则代表16个不同的分类,包括不同类型的微生物和真菌。 接下来,作者定义了网格颜色(grid.col),为四个主要类别和每个分类别分配了不同的颜色,这样可以更清晰地区分和识别各个部分。颜色选择包括蓝色、紫色、橙色、红色以及一系列其他色彩。 使用`tiff`函数创建了一个图像文件,命名为“circlize.tif”,并设置了宽度、高度和字体大小。然后,通过`circos.par`函数调整了图形的一些参数,如间隔角度(gap.degree)和起始角度(start.degree),以优化弦图的布局。 最后,使用`chordDiagram`函数绘制了弦图。这个函数接受数据矩阵作为输入,同时还允许设置一些额外的属性,如方向性(directional)、高度差异(diffHeight)以表示连接强度,以及网格颜色(grid.col)和透明度(transparency)。在示例中,设置`directional=TRUE`表示连接有方向性,`diffHeight=0.06`用于增加不同连接的视觉差异,`transparency=0.5`使图形具有半透明效果,增加了可读性。 此外,代码还包括一个右侧面板的图例,通过`legend`函数添加了点形(pch)以标识不同类别。虽然在这个摘要中没有给出完整的图例内容,但在实际代码中,`legend`函数会填充对应的类别名称和颜色。 总结来说,这个资源提供了如何使用R语言和`circlize`包创建弦图的实例,特别适用于展示多类别之间的交互关系,如生物多样性的网络结构。通过学习和应用这段代码,用户可以进一步提升自己在数据可视化的技能,尤其是处理复杂网络数据时。
library(circlize)
data = read.csv("C:/Users/hp pro/Desktop/орм╪.csv",header=T,row=1)
my.data=as.matrix(data)
rownames(my.data) =c("CCK", "CNPK", "GCCK", "GCNPK")
colnames(my.data) =c("Alphaproteobacteria","Betaproteobacteria","Gammaproteobacteria",
"Deltaproteobacteria","Acidobacteria","Actinobacteria",
"Bacteroidetes","Chloroflexi","Firmicutes",
"Gemmatimonadetes","Planctomycetes","Thaumarchaeota" ,
"Verrucomicrobia","Ascomycota", "Basidiomycota",
"Zygomycota")
grid.col = NULL
grid.col[c("CCK", "CNPK", "GCCK", "GCNPK")] = c("blue", "purple", "orange", "Red")
grid.col[colnames(my.data)] = c("lavender", "khaki","mistyrose",
"sienna1", "skyblue", "brown1",
"gold", "maroon", "salmon", "moccasin",
"wheat","black","green","cyan","pink","orange")
tiff(file="circlize.tif", width = 8, height = 5, pointsize = 8)
circos.par(gap.degree = c(rep(2, nrow(my.data)-1), 10, rep(2, ncol(my.data)-1), 10),
start.degree = 180)
chordDiagram(my.data,
directional = TRUE,
diffHeight = 0.06,
grid.col = grid.col,
transparency = 0.5)
legend("right",pch=20,legend=colnames(my.data),
col=grid.col[colnames(my.data)],bty="n",text.font=3,
cex=1,pt.cex=3,border="black")
circos.clear()
下载后可阅读完整内容,剩余1页未读,立即下载
- 粉丝: 3
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦