R语言 叠加面积图

R语言 叠加面积图

面积图 被定义为两个系列之间共享共同区域的填充区域。如果你知道面积图, 堆积面积图 就很容易理解。这种图在同一图上显示几个组的成本/价值的演变。每个组的值都显示在每个组的上面。利用这个图,我们可以分析每个组中存在的变量的总数值,以及每个组的重要性。

R使用函数 geom_area() 来创建叠加面积图。

语法: ggplot(Data, aes(x=x_variable, y=y_variable, fill=group_variable))+ geom_area()

参数

  • Data: 该参数包含整个数据集,用于叠加区域图。
  • x: 该参数包含叠加区域图中X轴的变量数值。
  • y: 该参数包含叠加区域图中y轴变量的数值。
  • fill: 该参数包含数据组列,主要用于叠加区域图的分析。

创建一个基本的叠加区域图

第1步:导入数据包

library(ggplot2)
library(dplyr)
library(tidyverse)
R

第2步:创建数据集

在组列中,”四个方向 “被复制了4次。年份一栏,序列从2017年到2020年产生,各4次。价格一栏,由runif(n, min, max)函数生成。

group <- rep(c("NORTH","SOUTH","EAST","WEST"),times=4)  
year <- as.numeric(rep(seq(2017,2020),each=4)) 
price <- runif(16, 50, 100)
  
data <- data.frame(year, price, group)
R

输出

使用R的叠加面积图

第3步:绘制数据图

ggplot(data, aes(x=year, y=price, fill=group)) + geom_area()
R

输出

使用R的叠加面积图

叠加面积百分比图

在基本的叠加区域图中,如果我们对每组的相对利益感兴趣,那么我们可以画一个百分比叠加区域图。这个图表将对我们的数据进行归一化处理,然后进行绘制。这可以用 dplyr 库来完成。

第1步:计算百分比

data <- data  %>%
+     group_by(year, group) %>%
+     summarise(n = sum(price)) %>%
+     mutate(percentage = n / sum(n))
R

输出

使用R的叠加面积图

第2步:绘制数据

我们可以通过Viridis库在图中添加 颜色 ,通过ggtitle添加 标题, 以及通过hrbrthemes包的theme_ipsum添加 颜色

library(viridis)
library(hrbrthemes)
  
ggplot(data, aes(x=year, y=percentage, fill=group)) 
+     geom_area(alpha=0.8 , size=.5, colour="white") 
+    scale_fill_viridis(discrete = T) 
+    theme_ipsum() 
+     ggtitle("Percentage Stacked-Area Plot")
R

输出

使用R的叠加面积图

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册