4000-520-616
欢迎来到免疫在线!(蚂蚁淘生物旗下平台)  请登录 |  免费注册 |  询价篮
主营:原厂直采,平行进口,授权代理(蚂蚁淘为您服务)
咨询热线电话
4000-520-616
当前位置: 首页 > 新闻动态 >
新闻详情
我是canvasXpress_Iam_may的博客-CSDN博客
来自 : 发布时间:2024-05-13

  前几天在R中文社区看见的关于动态图的制作的canvasXpress包 可以说是一见钟情 这个包的优秀之处不用我多言 不用和shiny一样复杂的编码 就可以制作出相应的动态图。本人也尝试了下shiny包 发现 学起来还是在server的编码处有问题 所以 想转过头来学下这个包 不过遗憾的是并没有发现全中文的教学 比较好一点的还是’宏基因组’中刘永鑫老师在R中文社区的一篇文。总而言之 想要学习这个canvasXpress包 就要自己慢慢挖掘了。

  引用刘永鑫老师的话 \"CanvasXpress核心是一个Java语言编写的库 主要用于可重复 研究。在R中可以安装canvasXpress包 使用canvasXpress命令绘制各种各样的交互式图形 非常高效方便 实现如下数百种图形 令你的结果瞬间B格爆满。”

\"\\\"\\\"\"

1.首次安装canvaxXpress

# 没有devtools也需要安装install.packages(devtools)library(devtools)# 安装canvasXpressdevtools::install_github( neuhausi/canvasXpress ) library(canvasXpress)

2.canvasXpress的帮助文件 2.1帮助文件

?canvasXpress#这个帮助文档都是参数 且没有示例

2.2 翻译内容仅供参考

#Description#描述#Custom HTML widget creation function based on widget YAML and JavaScript for use in any html-compatible context#自定义HTML控件创建函数基于Widget YAML和JavaScript中使用任何HTML兼容的环境#Usage#用法#canvasXpress(data NULL, smpAnnot NULL, varAnnot NULL,graphType Scatter2D , events NULL, afterRender NULL,pretty FALSE, digits 4, width 600, height 400,destroy FALSE, ...)#Arguments#参数#data data.frame-, matrix-, or list- classed data object#数据 数据框 矩阵 列表等#smpAnnot additional data that applies to samples (columns)#适用于样本 列 的附加数据#varAnnot variable annotate 变量注释 #additional data that applies to variables (rows)#适用于变量 行 的附加数据#graphType #type of graph to be plotted - default Scatter2D #绘制图形 默认为2D散点图#events #user-defined events (e.g. mousemove, mouseout, click and dblclick)#事件 对图的不同操作 包括鼠标移动 鼠标探寻 单击和双击 这个一般不用设置#afterRender #event triggered after rendering#pretty #print tagged code (json/html) nicely - default FALSE#打印标记代码 JSON / HTML -默认 false#digits #display digits - default 4#小数点默认为4个#width #plot width (valid CSS units) - default 600px#height #plot height (valid CSS units) - default 400px#图形的默认宽和长度 可以自己设置#destroy #used to indicate removal of a plot - default FALSE#用来表示删除一个情节-默认 false#additional parameters passed to canvasXpress 还有其他的参数并没有说明...

3.canvasXpress的示例   canvasXpress包有一个官网 网址为https://canvasxpress.org/html/index.html 复制网址用浏览器打开 或者百度搜索canvasXpress 手机打开的效果可能不会太好。官网首页的图 建议大家用chrome浏览器打开 里面的翻译成中文功能 还可以将动态图中的英文翻译为中文哦 \"\\\"\\\"\"

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

4. 比对示例研究参数   微信公众号文章不支持生成的动态的散点图 动态的结果大家可以去官网看 这里我就只截图。另外也可以到Rpubs上查看我上传的文件 点击阅读原文即可。

4.1 示例3D的散点图   处于分析的需要 我就不运行下面的示例 大家可以自己在Rstudio中运行。

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 ))

4.2 示例3D的散点图的分析

#首先是数据data集ylibrary(data.table)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)y - as.data.table(y)#可以观察到y是鸢尾花数据中的数据 只是没有Sepecies的变量#其次是varAnnot z,变量注释是z,这是分组数据# 读取分组信息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)z - as.data.table(z)#######实际上这里有个问题 不知道大家注意到没有 分组数据和面板panel上的数据是分开读取的 我们可以一会试一下 直接用鸢尾花中的数据能否成功#颜色标度#colorby 用字段Species #colorBy Species #椭圆形ellipse 置信区间 这个就是图形中的圈圈 也是用Species #ellipseBy Species #其他信息就简单了#graphType Scatter3D ,#title Iris Data Set ,#xAxis list( Sepal.Length ),#yAxis list( Petal.Width ),#zAxis list( Petal.Length )

\"\\\"这里写图片描述\\\"\"

4.3 用鸢尾花数据做图

4.3.1 普通三维散点图   不加颜色标度

data(iris)m_data - t(iris[,1:3]) #矩阵转置m_varAnnot - as.matrix(iris[,5]) #将分组变量varannot也转为矩阵colnames(m_varAnnot) - Species #给矩阵重新命名为SpeciescanvasXpress(data t(m_data), #然后再转置回来 只为了保持数据一致 varAnnot m_varAnnot, colorBy Species , #颜色标度后的变量名一定是分组变量中的变量名Species graphType Scatter3D , title my_Iris Data Set , xAxis list( my_Sepal.Length ), yAxis list( my_Petal.Width ), zAxis list( my_Petal.Length ) )

经过反复的实验 这里应注意这三个问题 1. data和var的数据格式问题。这个问题非常要命 如果你按照下面的编码写 m_data和m_varAnnot的格式虽然是数据框 但是实际上 data和m_varAnnot根本就匹配不到一起 这也是在官网案例中分开读取的必要性 所以这里必须保持数据的一致性。所以上面处理的时候用的是将两个数据都转为矩阵。 2. 三维散点图的x/y/z轴只能展示三个变量 如果有4个变量 那么就取前三个变量 3. 颜色标度一定要注意 colorBy ”Species”可以分出三组点 每组点不同颜色 colorBy iris$Species和colorBy m_varAnnot不能够分成三组 只是每个点一个颜色 不写颜色标度时 不能区分出颜色 \"\\\"这里写图片描述\\\"\"

data(iris)m_data - iris[,1:4]m_varAnnot - iris[,5]#canvasXpress(data t(m_data), #varAnnot m_varAnnot, #colorBy Species , #graphType Scatter3D , #title my_Iris Data Set , #xAxis list( my_Sepal.Length ), #yAxis list( my_Petal.Width ), #zAxis list( my_Petal.Length ) # Error in seq.default(length nrow(x)) : argument length.out must be of length 1

4.3.1 普通二维散点图   在这个图中 我并没有加入分组变量varannot 所以我也不用将数据转为矩阵的格式 直接作出散点图。

canvasXpress(data iris[,1:4], colorBy iris[,5], graphType Scatter2D , title my_Iris Data Set , xAxis list( my_Sepal.Length ), yAxis list( my_Petal.Width ), zAxis list( my_Petal.Length ) )

\"\\\"这里写图片描述\\\"\"

更多内容关注微信公众号 R语言与SPSS \"\\\"这里写图片描述\\\"\"

本文链接: http://canvax.immuno-online.com/view-1616500558.html

发布于 : 2024-05-13 阅读()