堆积面积图

#堆积面积图

用作构建堆积面积图的输入的数据框需要 3 列:

x:用于X轴的数字变量,通常是 一时间。

y:用于 Y 轴的数字变量。

group:分组。

图表是使用该函数构建的:geom_area()

#导入函数包

library(ggplot2)

library(dplyr)

# 创建一个数据集

time <- as.numeric(rep(seq(1,7),each=7))  # x Axis

time

value <- runif(49, 10, 100)              # y Axis

value

group <- rep(LETTERS[1:7],times=7)        # group, one shape per group

group

data <- data.frame(time, value, group)

head(data)

#堆积面积图

ggplot(data, aes(x=time, y=value, fill=group)) +

  geom_area()

#控制排序

#把分组那一列因子化,并给定排列顺序

data$group <- factor(data$group , levels=c("B", "A", "D", "E", "G", "F", "C") )

#重新画图

ggplot(data, aes(x=time, y=value, fill=group)) +

  geom_area()

#修改风格

library(viridis)

library(hrbrthemes)

ggplot(data, aes(x=time, y=value, fill=group)) +

  geom_area(alpha=0.6 , size=.5, colour="white") +

  scale_fill_viridis(discrete = T) +

  theme_ipsum() +

  ggtitle("堆积面积图")

#比例堆积面积图

在比例堆积面积图中,每年的总和始终为等于100,每个组的值表示为百分比。

#计算比例

library(dplyr)

data <- data  %>%

  group_by(time, group) %>%

  summarise(n = sum(value)) %>%

  mutate(percentage = n / sum(n))

data

#绘图

ggplot(data, aes(x=time, y=percentage, fill=group)) +

  geom_area(alpha=0.6 , size=1, colour="black")


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 先前提到堆叠柱形图展示群落物种丰度以及细胞比例变化等等。与此相较,堆叠面积图是另一种可视化选择,特别是在大样本情形...
    jjjscuedu阅读 2,883评论 0 4
  • 今天,我们来学习另一种常见的图形,面积图。什么是面积图呢?面积图是一种源于折线图但是改变了其展现方式的图形。具体地...
    jjjscuedu阅读 835评论 0 1
  • R语言绘制堆积条形图及着色 参考书籍:R数据可视化手...
    落尽丶繁华阅读 3,563评论 0 0
  • 今天我们学习另外一种柱状图,堆积柱状图,就是把每一个组的量堆积起来画成一个柱状图。 用自带的一个测试数据。 lib...
    jjjscuedu阅读 2,733评论 0 4
  • 作者:严涛浙江大学作物遗传育种在读研究生(生物信息学方向)伪码农,R语言爱好者,爱开源 ggplot2学习笔记之图...
    Dylan的迪阅读 2,698评论 0 6