凹凸图(bump chart)是折线图的变形形式,这种图常用于展示一组数据随时间产生的排名而非绝对值的变化。下面,小编就基于ggbump包给大家展示如何绘制凹凸图。
安装、加载R包
#安装R包
install.packages("ggbump")
install.packages("ggplot2")
install.packages("ggprism")
#加载R包
library(ggbump)
library(ggplot2)
library(ggprism)
数据
这里我们使用代码生成作图所需的数据,同理大家也可以导入自己准备好的数据:
df<-data.frame(
x=rep(1:6,4),
y=c(10,12,14,12,14,16, 12,14,12,10,12,12, 14,16,10,14,16,10, 16,10,16,16,10,14),
z=c(rep('g1',6),rep('g2',6),rep('g3',6),rep('g4',6)))
注:前两列数据保证为数值型数据,否则后续绘图可能会报错!
绘图
1、基础绘图
ggplot(df, aes(x = x, y = y, color = z)) +#数据
geom_bump(size = 1.2)
2、添加节点
ggplot(df, aes(x = x, y = y, color = z)) +#数据
geom_bump(size = 1.2)+#基本凹凸图绘制
geom_point(size = 10)
3、调整整体主题并添加标签:
ggplot(df, aes(x = x, y = y, color = z)) +#数据
geom_bump(size = 1.2)+#基本凹凸图绘制
geom_point(size = 10)+#添加节点
scale_color_prism(palette = 'candy_bright')+#自定义颜色
theme_void() +#主题
geom_text(data = df,
aes(x = x, label = z),
size = 4, color='white')+#添加标签
theme(legend.position = "none")#去除图例