本文来自粉丝投稿。
今天来学习绘制百分比堆积条形图。
1.加载R包
绘制图形前先安装和加载R包。
install.packages("readxl") # 安装包
install.packages("ggplot2")
install.packages("tidyr")
library(readxl) # 加载包
library(ggplot2)
library(tidyr)
2. 载入数据
数据在Excel中的格式见下图,文件名为test。

test <- read_excel("test.xlsx") # 读取数据

可以看出上述数据虽然有比例的具体数值,但是无法直接用于绘图,可以使用gather函数进行数据处理。
3. 处理数据
test1 <- gather(test, E1, E2, -prov)
其中,gather(test, E1, E2, -prov) 中的第一个参数要求类型为数据框,本例中为test数据框,第二个参数将原有数据框的列名放入,第三个参数将原有数据框中的数据放入,第四个参数表示保持prov列不变,变化后的数据结构如下:
test1

4. 绘制图形
ggplot(test1) +
geom_bar(aes(x = prov, y = E2, fill = E1),
stat = "identity") +
labs(x = "京津冀地区", y = NULL, fill = "指标")
