三行R代码搞定山脊图绘图

三行R代码搞定山脊图绘图

有时候我们对比几组数据的分布情形,需要把几组数据的分布叠加在一起,这就用到山脊图了。

今天带来一个最简单的山脊图绘图教程。所需要的数据是这样:

三行R代码搞定山脊图绘图插图
原始数据

非常简单,一列是数据,一列是年份。然后我们导入包ggridges和ggplot2,并读取数据:

library("ggplot2")
library("ggridges")
df <- read.csv('G:/test1.csv')

然后使用ggplot和geom_density_ridges这两个函数来绘图:

df %>%
  ggplot(aes(x = Score, y = year,group=year)) + 
  geom_density_ridges()

效果如下:

三行R代码搞定山脊图绘图插图1

这里的数据,其实是2006年到2019年,这里的刻度是默认的形式,已经很美观,如果想自定义,可以这样做:

dd<-df %>%
  ggplot(aes(x = Score, y = year,group=year)) + 
  geom_density_ridges()
dd
dd + scale_x_continuous(name="Score", limits  = c(0,0.6)) +
  scale_y_continuous(name="year", breaks =c(2006, 2010,2015,2019))

这里的limits是对刻度的范围进行限制,breaks这个数组里,可以写入自定义的数组。这段代码执行完就是下面这样:

三行R代码搞定山脊图绘图插图2

是不是很简单呢?