美文网首页R plot
R可视化——基于GGally包绘制平行坐标图

R可视化——基于GGally包绘制平行坐标图

作者: 科研那点事儿 | 来源:发表于2022-09-03 11:11 被阅读0次

         \color{red}{平行坐标图}(Parallel Coordinates chart)是一种高维数据的可视化方法,常用于一些分类问题及回归问题中,主要用于比较某个数值在不同分组之间的变化差异或随时间的变化趋势等。
         \color{red}{GGally包}是ggplot2的拓展包之一,我们今天主要基于此包进行平行坐标图的绘制。

    加载相关R包

    rm(list = ls())
    
    #加载R包
    library(GGally)
    library(ggthemes)
    library(ggprism)
    library(scagnostics)
    

    绘图参数

    #可选参数
    ??ggparcoord#查看该函数下的参数
    
    ggparcoord(data,
               columns = 1:ncol(data),
               groupColumn = NULL,
               scale = "std",
               scaleSummary = "mean",
               centerObsID = 1,
               missing = "exclude",
               order = columns,
               showPoints = FALSE,
               splineFactor = FALSE,
               alphaLines = 1,
               boxplot = FALSE,
               shadeBox = NULL,
               mapping = NULL,
               title = "")
    

    绘图

    1、基本绘图
    p1<-ggparcoord(df,
               columns = 1:4, #数据行数
               scale="globalminmax",#No scaling
               groupColumn = "Species",#按照分组显示不同颜色
               order = "anyClass",#水平坐标轴排序,可选参数有'skewness', 'allClass', 'anyClass', 'Outlying', 'Skewed', 'Clumpy', 'Sparse', 'Striated', 'Convex', 'Skinny', 'Stringy', 'Monotonic'
               showPoints = T,#是否显示点 
               title = "Parallel Coordinates chart",#标题
               alphaLines = 0.5) + #线的粗细
      theme_pander()+#模板主题设置
      theme(plot.title = element_text(size=10))+#标题大小设置
      scale_color_prism(palette = "candy_bright")#使用ggrism包的主题颜色
    p1
    
    p2<-ggparcoord(df,
                   columns = 1:4, #数据行数
                   groupColumn = "Species",#按照分组显示不同颜色
                   order = "Outlying",#水平坐标轴排序
                   showPoints = T,#是否显示点 
                   title = "Parallel Coordinates chart",#标题
                   scale="uniminmax",#Standardize to Min = 0 and Max = 1
                   alphaLines = 0.5) + #线的粗细
      theme_pander()+#模板主题设置
      theme(plot.title = element_text(size=10))+#标题大小设置
      scale_color_prism(palette = "neon")#使用ggrism包的主题颜色
    p2
    
    p3<-ggparcoord(df,
                   columns = 1:4, #数据行数
                   groupColumn = "Species",#按照分组显示不同颜色
                   order = "Clumpy",#水平坐标轴排序
                   showPoints = T,#是否显示点 
                   title = "Parallel Coordinates chart",#标题
                   scale="std",#Normalize univariately (substract mean & divide by sd)
                   alphaLines = 0.5) + #线的粗细
      theme_pander()+#模板主题设置
      theme(plot.title = element_text(size=10))+#标题大小设置
      scale_color_prism(palette = "autumn_leaves")#使用ggrism包的主题颜色
    p3
    
    p4<-ggparcoord(df,
                   columns = 1:4, #数据行数
                   groupColumn = "Species",#按照分组显示不同颜色
                   order = "Sparse",#水平坐标轴排序
                   showPoints = T,#是否显示点 
                   title = "Parallel Coordinates chart",#标题
                   scale="center",#Standardize and center variables
                   alphaLines = 0.5) + #线的粗细
      theme_pander()+#模板主题设置
      theme(plot.title = element_text(size=10))+#标题大小设置
      scale_color_prism(palette = "sunny_garden")#使用ggrism包的主题颜色
    p4
    
    #拼图
    cowplot::plot_grid(p1,p2,p3,p4,ncol=2)
    
    image.png
    2、显示箱线图
    ggparcoord(df,
               columns = 1:4, 
               scale="globalminmax",
               groupColumn = "Species",
               showPoints = T,
               title = "Parallel Coordinates chart",
               alphaLines = 0.5,
               boxplot = T) + 
      theme_map()+
      theme(plot.title = element_text(size=10))+
      scale_color_prism(palette = "candy_bright")
    
    image.png
    3、分面显示
    p1+facet_wrap(~Species)#使用facet_wrap()函数实现图形分面
    p2+facet_wrap(~Species)
    p3+facet_wrap(~Species)
    p4+facet_wrap(~Species)
    
    image.png
    image.png
    image.png
    image.png

    相关文章

      网友评论

        本文标题:R可视化——基于GGally包绘制平行坐标图

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