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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章