R语言绘制堆叠的环状条形图

堆叠条形图的进阶版,极坐标下的barplot,下面是R绘制堆叠的环状条形图的小例子。

#调用包
library(tidyverse)
library(viridis)

# 模拟数据集
data <- data.frame(
  individual=paste( "Mister ", seq(1,60), sep=""),
  group=c( rep('A', 10), rep('B', 30), rep('C', 14), rep('D', 6)) ,
  value1=sample( seq(10,100), 60, replace=T),
  value2=sample( seq(10,100), 60, replace=T),
  value3=sample( seq(10,100), 60, replace=T)
)

# 把数据转化成统一的格式
data <- data %>% gather(key = "observation", value="value", -c(1,2)) 

# 再每组末尾添加空白距离
empty_bar <- 2
nObsType <- nlevels(as.factor(data$observation))
to_add <- data.frame( matrix(NA, empty_bar*nlevels(data$group)*nObsType, ncol(data)) )
colnames(to_add) 
### 使用R语言中的`ggplot2`绘制堆叠面积 为了使用`ggplot2`库来创建堆叠面积,首先需要确保已经安装并加载了该库[^3]。 ```r install.packages("ggplot2") library(ggplot2) ``` 接着,准备数据集对于成功绘制表至关重要。假设有一个名为`df`的数据框包含了年份和其他多个变量的时间序列数据。下面展示了一个简单的例子,其中包含了一些经济指标随时间变化的情况: ```r # 创建示例数据帧 df <- data.frame( Year = rep(1947:1962, each=6), Category = factor(rep(c('GNP', 'Unemployed', 'Armed.Forces', 'Population', 'Employed', 'GDP'), times=16)), Value = as.vector(longley[,c(-5,-7)]) ) head(df) # 查看前几行数据 ``` 有了适当结构化后的数据之后,就可以利用`ggplot()`函数开始构建形对象,并指定aes映射参数定义美学属性(如x轴、y轴以及填充颜色),最后添加`geom_area()`几何层以实现堆叠效果: ```r p <- ggplot(data=df, aes(x=Year, y=Value, fill=Category)) + geom_area(position="stack")+ scale_fill_viridis_d(option="plasma", alpha=.8)+ theme_minimal()+ labs(title="Stacked Area Chart of Economic Indicators", subtitle="Data from Longley Dataset", caption="Source: U.S. Bureau of the Census") print(p) ``` 这段代码将会生成一张基于给定时间段内不同类别数值累积情况的视觉表示形式——即所谓的“堆叠面积”。通过调整`position`参数还可以改变区域之间的排列方式;而设置不同的调色板则有助于提高可读性和美观度[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值