R语言交互式可视化包CanvasXpress推荐


作者简介

        刘永鑫,博士。2008年和2011年毕业东北农业大学微生物学和作物遗传育种专业。2014年在中科院遗传发育所获生物信息学博士学位,2016年博士后出站留所工作,任宏基因组学实验室工程师,目前主要研究方向为宏基因组学数据分析方法、培养组学方法优化。2017年7月创办“宏基因组”公众号。

1 CanvasXpress包简介

        CanvasXpress核心是一个JavaScript语言编写的库,主要用于可重复研究。在R中可以安装canvasXpress包,使用canvasXpress命令绘制各种各样的交互式图形。

        更多介绍和实例,访问官网:https://canvasxpress.org/html/index.html

        源代码、安装及使用示例详见 Github: https://github.com/neuhausi/canvasXpress

1.1 canvasXpress安装及加载

        安装包位于github上,需要devtools工具安装。

# 没有devtools也需要安装
install.packages(devtools)
library(devtools)

# 安装canvasXpress
devtools::install_github('neuhausi/canvasXpress')
library(canvasXpress)

        备注:若在安装过程中显示缺少某一个程辑包的话,就按照提示安装相应的包即可。


2 绘图实战

2.1 三维散点图

# 读数据文件
y <- read.table("http://www.canvasxpress.org/data/cX-irist-dat.txt", header=TRUE, sep="\t", 
                quote="", row.names=1, fill=TRUE, check.names=FALSE, stringsAsFactors=FALSE)
# 读取分组信息
z <- read.table("http://www.canvasxpress.org/data/cX-irist-var.txt", header=TRUE, sep= "\t", 
                quote="", row.names=1, fill=TRUE, check.names=FALSE, stringsAsFactors=FALSE)
# 绘制三维散点图,主要参数为数据、分组、分组列、置信椭圆列、图表类型以及相关标签
canvasXpress(data      = y,
             varAnnot  = z,
             colorBy   = "Species",
             ellipseBy = "Species",
             graphType = "Scatter3D",
             title     = "Iris Data Set",
             xAxis     = list("Sepal.Length"),
             yAxis     = list("Petal.Width"),
             zAxis     = list("Petal.Length"))

        代码可以左右滑动查看。

        我们发现图中点击右键会存在一组工具箱,它存在非常多的交互功能。

2.2 矩阵散点图

# 绘制矩阵散点图
canvasXpress(data              = y,
             varAnnot          = z,
             graphType         = "Scatter2D",
             scatterPlotMatrix = TRUE,
             colorBy           = "Species",
             showTransition    = TRUE)

2.3 箱线图

# 数据文件
y <- read.table("http://www.canvasxpress.org/data/cX-iris-dat.txt", header=TRUE, sep="\t", 
                quote="", row.names=1, fill=TRUE, check.names=FALSE, stringsAsFactors=FALSE)
# 分组信息
x <- read.table("http://www.canvasxpress.org/data/cX-iris-smp.txt", header=TRUE, sep= "\t", 
                quote="", row.names=1, fill=TRUE, check.names=FALSE, stringsAsFactors=FALSE)
# 绘制箱线图,按物种分大类,再按变量类型分小类
canvasXpress(data              = y,
             smpAnnot          = x,
             graphType         = "Boxplot",
             graphOrientation  = "vertical",
             title             = "Iris flower data set",
             smpTitle          = "Species",
             smpLabelFontStyle = "italic",
             smpLabelRotate    = 90,
             xAxis2Show        = FALSE,
             afterRender       = list(list("groupSamples", list("Species"))))

2.4 交互图表导出和交互

        导出为网页的方法:选择Export中的Save as web page,弹窗中输入或选择文件名,如果询问是否覆盖,点yes即可。

3 更多信息

3.1 更多实例和教程

        vignette查看更多示例

# 显示该包中所有示例,目前有开始和额外两类
vignette(package = "canvasXpress")
# 分别展示每个示例# 初级入门教程,也是上面提到的例子
vignette("getting_started", package = "canvasXpress")
# 额外示例,包括数据分析过程
vignette("additional_examples", package = "canvasXpress")

3.2 Shiny小程序

        更强大的交互实例,使用cxShinyExample查看

# 展示所有Shiny示例
cxShinyExample()
# 运行其中一个
cxShinyExample(example = "example1")

        更多学习资源和最新的软件教程,详见其官网:http://www.canvasxpress.org

        原文链接:R语言交互式可视化包CanvasXpress

转载自:https://blog.csdn.net/shouji111111/article/details/88043516

You may also like...