美文网首页
使用R包barplot3d绘制3D条形图-2020-07-04S

使用R包barplot3d绘制3D条形图-2020-07-04S

作者: 知无牙 | 来源:发表于2020-07-04 11:49 被阅读0次

    ## 1.设置当前工作目录

    setwd("./barplot3d/")

    ## 2.安装和导入R包

    # install.packages("barplot3d")

    library(barplot3d)

    ## 3.R包简介

    ### 3.1 Description

    help(package="barplot3d")

    # Package: barplot3d

    # Type: Package

    # Title: Create 3D Barplots

    # Version: 1.0.1

    # Authors@R: person("Christopher", "Wardell", email="r@cpwardell.com", role=c("aut","cre"))

    # Description: Creates 3D barplots. Includes a function for sequence context plots used in DNA sequencing analysis.

    # License: Apache License 2.0 | file LICENSE

    # Encoding: UTF-8

    # LazyData: true

    # Imports: rgl

    # RoxygenNote: 6.1.1

    # Suggests: knitr, rmarkdown

    # VignetteBuilder: knitr

    # NeedsCompilation: no

    # Packaged: 2019-11-05 03:21:48 UTC; cpw

    # Author: Christopher Wardell [aut, cre]

    # Maintainer: Christopher Wardell <r@cpwardell.com>

    #  Repository: CRAN

    # Date/Publication: 2019-11-06 15:40:07 UTC

    # Built: R 4.0.2; ; 2020-06-27 22:17:10 UTC; windows

    ### 3.2 Package structure

    ls(package:barplot3d)

    # [1] "bar3d"      "barplot3d"  "legoplot3d"

    ################

    ## 4.开始测试 ##

    ################

    ### 4.1 Two example plots

    #### 4.1.1 Something very simple

    ## Load packages

    library(rgl)

    ## Make a very simple 3D barplot using mostly defaults

    ?barplot3d

    # Adds a 3D bar plot to the current RGL scene

    barplot3d(rows=1,cols=5,z=1:5,theta=10,phi=10,alpha = 0.5)

    # 参数测试

    #@ 参数:alpha透明度调节

    barplot3d(rows=1,cols=5,z=1:5,theta=10,phi=10,alpha = 0.9, topcolors = "#078E53")

    #@ 参数:topcolors条形图上顶颜色调节

    barplot3d(rows=1,cols=5,z=1:5,theta=10,phi=10,alpha = 0.5, topcolors = "#078E53", sidecolors = "#00B2EE")

    #@ 参数:linecolors条形图的边线颜色调整

    barplot3d(rows=1,cols=5,z=1:5,theta=10,phi=10,alpha = 0.5, topcolors = "#078E53", sidecolors = "#00B2EE", linecolors = "#EE0000")

    #@ 参数:theta水平调整3d条形图的角度

    barplot3d(rows=1,cols=5,z=1:5,theta=50,phi=10,alpha = 0.5, topcolors = "#078E53", sidecolors = "#00B2EE", linecolors = "#EE0000")

    #@ 参数:phi垂直调整3d条形图的角度

    barplot3d(rows=1,cols=5,z=1:5,theta=50,phi=50,alpha = 0.5, topcolors = "#078E53", sidecolors = "#00B2EE", linecolors = "#EE0000")

    #@ 参数:gridlines决定是否填加条形图的背景网格,T则填加,F则不填加

    barplot3d(rows=1,cols=5,z=1:5,theta=50,phi=50,alpha = 0.5, topcolors = "#078E53", sidecolors = "#00B2EE", linecolors = "#EE0000", gridlines = T)

    barplot3d(rows=1,cols=5,z=1:5,theta=50,phi=50,alpha = 0.5, topcolors = "#078E53", sidecolors = "#00B2EE", linecolors = "#EE0000", gridlines = F)

    #@ 参数:xlabels, Labels for the x axis (must be a vector of names the same length as "cols" parameter).

    barplot3d(rows=1,cols=5,z=1:5,theta=50,phi=50,alpha = 0.5, topcolors = "#078E53", sidecolors = "#00B2EE", linecolors = "#EE0000", gridlines = F, xlabels = c("A", "B", "C", "D", "E"))

    #@ 参数:ylabels, Labels for the y axis (must be a vector of names the same length as "rows" parameter).

    barplot3d(rows=1,cols=5,z=1:5,theta=50,phi=50,alpha = 0.5, topcolors = "#078E53", sidecolors = "#00B2EE", linecolors = "#EE0000", gridlines = F, xlabels = c("A", "B", "C", "D", "E"), ylabels = "value")

    #@ 参数:zlabels, Labels for the z axis; add numeric scale to the vertical dimension of the plot (TRUE or FALSE).

    barplot3d(rows=1,cols=5,z=1:5,theta=50,phi=50,alpha = 0.5, topcolors = "#078E53", sidecolors = "#00B2EE", linecolors = "#EE0000", gridlines = F, xlabels = c("A", "B", "C", "D", "E"), ylabels = "value", zlabels = F)

    #@ 参数:xsub

    barplot3d(rows=1,cols=5,z=1:5,theta=60,phi=10,alpha = 0.5, topcolors = "#078E53", sidecolors = "#00B2EE", linecolors = "#EE0000", gridlines = F, xlabels = c("A", "B", "C", "D", "E"), ylabels = "value", zlabels = T, xsub = "Samples")

    #@ 参数:ysub

    barplot3d(rows=1,cols=5,z=1:5,theta=60,phi=10,alpha = 0.5, topcolors = "#078E53", sidecolors = "#00B2EE", linecolors = "#EE0000", gridlines = F, xlabels = c("A", "B", "C", "D", "E"), ylabels = "value", zlabels = T, xsub = "Samples", ysub = "Molecular Weight[KDa]")

    #@ 参数:zsub

    barplot3d(rows=1,cols=5,z=1:5,theta=60,phi=10,alpha = 0.5, topcolors = "#078E53", sidecolors = "#00B2EE", linecolors = "#EE0000", gridlines = F, xlabels = c("A", "B", "C", "D", "E"), ylabels = "value", zlabels = T, xsub = "Samples", ysub = "Molecular Weight[KDa]", zsub = "Just Number")

    #### 4.1.2 Something more decorative

    ## Make a prettier 3D barplot with more advanced features

    inputdata=round(rnorm(15,10,3))

    barplot3d(rows=3,cols=5,z=inputdata,scalexy=5,alpha=0.4,theta=30,phi=50,

              topcolors=rainbow(15),xlabels = 1:5,ylabels=LETTERS[1:3],

              xsub="Numbers",ysub="Letters",zsub="Count")

    #@ 重新构建一个更庞大的3d条形图

    big_inputdata <- round(rnorm(100, 50, 2))

    barplot3d(rows=10,cols=10,z=big_inputdata,scalexy=5,alpha=0.4,theta=30,phi=50, topcolors=rainbow(100),xlabels = 1:10,ylabels=LETTERS[1:10], xsub="Numbers",ysub="Letters",zsub="Count")

    ### 4.3 Viewing angles, plot size and saving your plot

    # “theta” rotates the viewpoint in the horizontal plane (imagine it on a rotating turntable) and can be set between 0 and 360 degrees.

    # “phi” rotates the viewpoint in the vertical plane (imagine going below and above the plot) and can be set between -90 to 90 (-90 is directly below, 90 directly above).

    # The 4 arguments are the position (in pixels) of the left, top, right and bottom edges of the rgl viewing window

    # This code leads to a plot that is 600 pixels wide and 400 pixels tall.

    par3d(windowRect=c(0,50,600,450))

    # Save the current rgl view

    rgl.snapshot("filename.png")

    # Error in rgl.snapshot("filename.png") :

      # pixmap save format not supported in this build

    ### 4.4 Legoplots

    # Read in COSMIC signature probabilities

    x=system.file("extdata", "signature_probabilities.txt", package = "barplot3d")

    sigdata=read.table(x,header=TRUE,stringsAsFactors = FALSE)

    # Plot signature 2 without axis labels, with Sanger colors and some transparency so we can see all bars

    legoplot3d(contextdata=sigdata$Signature_2,labels=FALSE,scalexy=0.05,sixcolors="sanger",alpha=0.4)

    # Plot signature 2 without axis labels, with Sanger colors and some transparency so we can see all bars

    legoplot3d(contextdata=sigdata$Signature_8,labels=FALSE,scalexy=0.01,sixcolors="broad",alpha=0.4)

    # Input data MUST be in this order

    cat(sigdata$Somatic_mutation_type,sep="\n")

    # C>A|G>T_AxA

    # C>A|G>T_CxA

    # C>A|G>T_GxA

    # C>A|G>T_TxA

    # C>A|G>T_AxC

    # C>A|G>T_CxC

    # C>A|G>T_GxC

    # C>A|G>T_TxC

    # C>A|G>T_AxG

    # C>A|G>T_CxG

    # C>A|G>T_GxG

    # C>A|G>T_TxG

    # C>A|G>T_AxT

    # C>A|G>T_CxT

    # C>A|G>T_GxT

    # C>A|G>T_TxT

    # C>G|G>C_AxA

    # C>G|G>C_CxA

    # C>G|G>C_GxA

    # C>G|G>C_TxA

    # C>G|G>C_AxC

    # C>G|G>C_CxC

    # C>G|G>C_GxC

    # C>G|G>C_TxC

    # C>G|G>C_AxG

    # C>G|G>C_CxG

    # C>G|G>C_GxG

    # C>G|G>C_TxG

    # C>G|G>C_AxT

    # C>G|G>C_CxT

    # C>G|G>C_GxT

    # C>G|G>C_TxT

    # C>T|G>A_AxA

    # C>T|G>A_CxA

    # C>T|G>A_GxA

    # C>T|G>A_TxA

    # C>T|G>A_AxC

    # C>T|G>A_CxC

    # C>T|G>A_GxC

    # C>T|G>A_TxC

    # C>T|G>A_AxG

    # C>T|G>A_CxG

    # C>T|G>A_GxG

    # C>T|G>A_TxG

    # C>T|G>A_AxT

    # C>T|G>A_CxT

    # C>T|G>A_GxT

    # C>T|G>A_TxT

    # T>A|A>T_AxA

    # T>A|A>T_CxA

    # T>A|A>T_GxA

    # T>A|A>T_TxA

    # T>A|A>T_AxC

    # T>A|A>T_CxC

    # T>A|A>T_GxC

    # T>A|A>T_TxC

    # T>A|A>T_AxG

    # T>A|A>T_CxG

    # T>A|A>T_GxG

    # T>A|A>T_TxG

    # T>A|A>T_AxT

    # T>A|A>T_CxT

    # T>A|A>T_GxT

    # T>A|A>T_TxT

    # T>C|A>G_AxA

    # T>C|A>G_CxA

    # T>C|A>G_GxA

    # T>C|A>G_TxA

    # T>C|A>G_AxC

    # T>C|A>G_CxC

    # T>C|A>G_GxC

    # T>C|A>G_TxC

    # T>C|A>G_AxG

    # T>C|A>G_CxG

    # T>C|A>G_GxG

    # T>C|A>G_TxG

    # T>C|A>G_AxT

    # T>C|A>G_CxT

    # T>C|A>G_GxT

    # T>C|A>G_TxT

    # T>G|A>C_AxA

    # T>G|A>C_CxA

    # T>G|A>C_GxA

    # T>G|A>C_TxA

    # T>G|A>C_AxC

    # T>G|A>C_CxC

    # T>G|A>C_GxC

    # T>G|A>C_TxC

    # T>G|A>C_AxG

    # T>G|A>C_CxG

    # T>G|A>C_GxG

    # T>G|A>C_TxG

    # T>G|A>C_AxT

    # T>G|A>C_CxT

    # T>G|A>C_GxT

    # T>G|A>C_TxT

    ## 5.测试完成

    sessionInfo()

    # R version 3.6.3 (2020-02-29)

    # Platform: x86_64-w64-mingw32/x64 (64-bit)

    # Running under: Windows 10 x64 (build 18363)

    #

    # Matrix products: default

    #

    # locale:

    #  [1] LC_COLLATE=Chinese (Simplified)_China.936

    # [2] LC_CTYPE=Chinese (Simplified)_China.936

    # [3] LC_MONETARY=Chinese (Simplified)_China.936

    # [4] LC_NUMERIC=C

    # [5] LC_TIME=Chinese (Simplified)_China.936

    #

    # attached base packages:

    #  [1] stats    graphics  grDevices utils    datasets  methods

    # [7] base

    #

    # other attached packages:

    #  [1] rgl_0.100.54    barplot3d_1.0.1

    #

    # loaded via a namespace (and not attached):

    #  [1] Rcpp_1.0.4.6            packrat_0.5.0

    # [3] digest_0.6.25          later_1.1.0.1

    # [5] mime_0.9                R6_2.4.1

    # [7] xtable_1.8-4            jsonlite_1.7.0

    # [9] magrittr_1.5            rlang_0.4.6

    # [11] miniUI_0.1.1.1          promises_1.1.1

    # [13] webshot_0.5.2          tools_3.6.3

    # [15] manipulateWidget_0.10.1 htmlwidgets_1.5.1

    # [17] crosstalk_1.1.0.1      shiny_1.5.0

    # [19] fastmap_1.0.1          httpuv_1.5.4

    # [21] xfun_0.15              compiler_3.6.3

    # [23] htmltools_0.5.0        knitr_1.29

    相关文章

      网友评论

          本文标题:使用R包barplot3d绘制3D条形图-2020-07-04S

          本文链接:https://www.haomeiwen.com/subject/rawyqktx.html