R语言可视化学习笔记之ggridges包

原创 2018年04月16日 00:00:00

640?wx_fmt=gif&wxfrom=5&wx_lazy=1

作者简介Introduction

taoyan:R语言中文社区特约作家,伪码农,R语言爱好者,爱开源。

个人博客: https://ytlogos.github.io/

公众号:生信大讲堂


往期回顾

R语言可视化学习笔记之相关矩阵可视化包ggcorrplot

R语言学习笔记之相关性矩阵分析及其可视化

ggplot2学习笔记系列之利用ggplot2绘制误差棒及显著性标记

ggplot2学习笔记系列之主题(theme)设置

用circlize包绘制circos-plot

利用gganimate可视化R-Ladies发展情况

一篇关于国旗与奥运会奖牌的可视化笔记

利用ggseqlogo绘制seqlogo图

R语言data manipulation学习笔记之创建变量、重命名、数据融合

R语言data manipulation学习笔记之subset data

R语言可视化学习笔记之gganimate包

创建属于自己的调色板

640?wx_fmt=gif&wxfrom=5&wx_lazy=1

640?wx_fmt=png

简介

ggridges包主要用来绘制山峦图。尤其是针对时间或者空间分布份可视化具有十分好的效果。ggridges主要提供两个几何图像函数:

  • geom_ridgeline():主要绘制山脊线图

  • geom_density_ridges():主要根据密度绘制山脊线图

具体用法可以参考官方文档(https://cran.r-project.org/web/packages/ggridges/vignettes/introduction.html)

geom_ridgeline()

library(ggridges)

library(tidyverse)

library(gridExtra)

my_data <- data.frame(x=1:5, y=rep(1,5), height=c(0,1,-1,3,2))

plot_base <- ggplot(my_data, aes(x, y, height=height))

grid.arrange(plot_base+geom_ridgeline(),

    plot_base+geom_ridgeline(min_height=-2), ncol=2)   

640?wx_fmt=png

geom_density_ridges()

geom_density_ridges()函数首先会根据数据计算密度然后绘图,此时美学映射height没有必要写入函数中。下面使用lincoln_weather数据集。

library(viridis)

head(lincoln_weather[ ,1:4])

## # A tibble: 6 x 4

##   CST      `Max Temperature [F]` `Mean Temperature [F]` `Min Temperature ~

##   <chr>                    <int>                  <int>              <int>

## 1 2016-1-1                    37                     24                 11

## 2 2016-1-2                    41                     23                  5

## 3 2016-1-3                    37                     23                  8

## 4 2016-1-4                    30                     17                  4

## 5 2016-1-5                    38                     29                 19

## 6 2016-1-6                    34                     33                 32

ggplot(lincoln_weather, aes(x=`Mean Temperature [F]`, y=`Month`, fill=..x..))+

    geom_density_ridges_gradient(scale=3, rel_min_height=0.01, gradient_lwd = 1.)+

    scale_x_continuous(expand = c(0.01, 0))+

    scale_y_discrete(expand = c(0.01,0))+

    scale_fill_viridis(name="Temp. [F]", option = "C")+

    labs(title="Temperature in Lincoln NE",subtitle="Mean temperature (Fahrenheit) by month for 2016\nData:Orogin CSV from the Weather Underground ")+

    theme_ridges(font_size = 13, grid = FALSE)+

    theme(axis.title.y = element_blank())

640?wx_fmt=png

cyclinal scales

为了使得ggridges绘制的图形可视化效果最好,同时为了减少用户对颜色设置的困难,作者提供了cyclinal scales用于颜色轮转映射。

ggplot(diamonds, aes(x=price, y=cut, fill=cut))+

    geom_density_ridges(scale=4)+

    scale_fill_cyclical(values = c("blue", "green"))+

    theme_ridges(grid = FALSE)
   

640?wx_fmt=png


默认的,cyclinal scales为了防止误解是不绘制图例的,但是可以通过选项guide="legend"添加图例。

ggplot(diamonds, aes(x=price, y=cut, fill=cut))+

    geom_density_ridges(scale=4)+

    scale_fill_cyclical(values = c("blue", "green"), guide="legend")+

    theme_ridges(grid = FALSE)
   

640?wx_fmt=png


跟ggplot2一样,图例是可以修改的,其他参数比如大小、透明度、形状等都是可以通过cyclinal scales修改。

ggplot(diamonds, aes(x=price, y=cut, fill=cut))+

    geom_density_ridges(scale=4)+

    scale_fill_cyclical(values = c("blue", "green"), guide="legend",labels=c("Fair"="blue", "Good"="green"),name="Fill colors")+

    theme_ridges(grid = FALSE)
   

640?wx_fmt=png

还有很多用法有兴趣的可以查看官方文档继续学习。

SessionInfo

sessionInfo()
## R version 3.4.3 (2017-11-30)

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

## Running under: Windows 10 x64 (build 16299)

##

## 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   base

##

## other attached packages:

##  [1] viridis_0.5.0       viridisLite_0.3.0   gridExtra_2.3

##  [4] forcats_0.2.0       stringr_1.2.0       dplyr_0.7.4

##  [7] purrr_0.2.4         readr_1.1.1         tidyr_0.8.0

## [10] tibble_1.4.2        tidyverse_1.2.1     ggridges_0.4.1.9990

## [13] ggplot2_2.2.1.9000

##

## loaded via a namespace (and not attached):

##  [1] reshape2_1.4.3    haven_1.1.1       lattice_0.20-35

##  [4] colorspace_1.3-2  htmltools_0.3.6   yaml_2.1.16

##  [7] utf8_1.1.3        rlang_0.1.6       pillar_1.1.0

## [10] foreign_0.8-69    glue_1.2.0        modelr_0.1.1

## [13] readxl_1.0.0      bindrcpp_0.2      bindr_0.1

## [16] plyr_1.8.4        munsell_0.4.3     gtable_0.2.0

## [19] cellranger_1.1.0  rvest_0.3.2       psych_1.7.8

## [22] evaluate_0.10.1   labeling_0.3      knitr_1.19

## [25] parallel_3.4.3    broom_0.4.3       Rcpp_0.12.15

## [28] scales_0.5.0.9000 backports_1.1.2   jsonlite_1.5

## [31] mnormt_1.5-5      hms_0.4.1         digest_0.6.15

## [34] stringi_1.1.6     grid_3.4.3        rprojroot_1.3-2

## [37] cli_1.0.0         tools_3.4.3       magrittr_1.5

## [40] lazyeval_0.2.1    crayon_1.3.4      pkgconfig_2.0.1

## [43] xml2_1.2.0        lubridate_1.7.1   assertthat_0.2.0

## [46] rmarkdown_1.8     httr_1.3.1        rstudioapi_0.7

## [49] R6_2.2.2          nlme_3.1-131      compiler_3.4.3

   



 往期精彩内容整理合集 

2017年R语言发展报告(国内)

R语言中文社区历史文章整理(作者篇)

R语言中文社区历史文章整理(类型篇)

640?wx_fmt=jpeg

公众号后台回复关键字即可学习

回复 R                  R语言快速入门及数据挖掘 
回复 Kaggle案例  Kaggle十大案例精讲(连载中)
回复 文本挖掘      手把手教你做文本挖掘
回复 可视化          R语言可视化在商务场景中的应用 
回复 大数据         大数据系列免费视频教程 
回复 量化投资      张丹教你如何用R语言量化投资 
回复 用户画像      京东大数据,揭秘用户画像
回复 数据挖掘     常用数据挖掘算法原理解释与应用
回复 机器学习     人工智能系列之机器学习与实践
回复 爬虫            R语言爬虫实战案例分享

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kMD8d5R/article/details/79969491

R语言可视化学习笔记之gganimate包

作者简介Introductiontaoyan:R语言中文社区特约作家,伪码农,R语言爱好者,爱开源。个人博客: https://ytlogos.github.io/公众号:生信大讲堂往期回顾R语言可视...
  • kMD8d5R
  • kMD8d5R
  • 2018-04-10 00:00:00
  • 75

R绘制山脊图

1 附加包 如果尚未安装,可以直接通过install.packages('packagename')从cran下载 library(ggplot2) library(ggridges) ...
  • arcers
  • arcers
  • 2018-01-28 15:22:27
  • 123

R语言可视化学习笔记之相关矩阵可视化包ggcorrplot

作者简介Introductiontaoyan:伪码农,R语言爱好者,爱开源。个人博客: https://ytlogos.github.io/往期回顾R语言学习笔记之聚类分析R语言可视化学习笔记之ggp...
  • kMD8d5R
  • kMD8d5R
  • 2018-01-25 00:00:00
  • 203

R语言学习笔记之相关性矩阵分析及其可视化

作者简介Introductiontaoyan:伪码农,R语言爱好者,爱开源。个人博客: https://ytlogos.github.io/往期回顾R语言学习笔记之聚类分析R语言可视化学习笔记之ggp...
  • kMD8d5R
  • kMD8d5R
  • 2018-02-05 00:00:00
  • 256

利用R包ggmap进行空间可视化

ggmap 是在R环境里调用地图作用可视化的利器。它的语法结构跟ggplot2非常相似,也使R语言的用户可以迅速上手。 ggmap 结合 ggplot 可以方便快速绘制基于地图的可视化图表。下面的文章...
  • chaoran_liu
  • chaoran_liu
  • 2016-05-01 11:38:23
  • 6001

主题模型TopicModel:主题模型可视化

http://blog.csdn.net/pipisorry Browse LDA Topic Models This package allows you to create a set of ...
  • pipisorry
  • pipisorry
  • 2015-04-29 19:20:33
  • 4637

R语言关联规则可视化:扩展包arulesViz的介绍

原文地址:http://www.klshu.com/1202.html 关联规则挖掘是一种流行的数据挖掘方法,在R语言中为扩展包arules。然而,挖掘关联规则往往导致非常多的规则,使分...
  • jiabiao1602
  • jiabiao1602
  • 2015-05-04 00:21:56
  • 3251

R语言相关系数的可视化

R语言corrplot包中的corrplot()函数,提供了一整套对相关系数可视化的包,可很容易就将文字结果转化为图片,使您的报告更加光彩夺目,颜值瞬间上升几个档次。ggplot2是R语言可视化大杀器...
  • flyfrommath
  • flyfrommath
  • 2017-08-06 16:21:11
  • 2125

可视化篇:R可视化--map图

写在最前 下面是《可视化篇:效果图》中第2、3张的实现说明 使用工具为:R语言1.环境配置 https://cran.r-project.org/ 上下载对应系统及版本的R软件,下文环境为win...
  • yc_1993
  • yc_1993
  • 2016-05-08 21:14:18
  • 10383

R语言可视化---介绍一些强大的画图和数据处理包及函数(ggplot,melt())

最近实习中需要R语言做分析,对于最后的结果需要用如下所示的图进行展示(示例图片在论文中截取)           由于接触R语言不久,刚开始就是各种懵,认为直接用R是画不出这样的图片的,然后问了同...
  • GeminZhang
  • GeminZhang
  • 2016-03-15 15:28:27
  • 5477
收藏助手
不良信息举报
您举报文章:R语言可视化学习笔记之ggridges包
举报原因:
原因补充:

(最多只允许输入30个字)