R绘图 | 山峦图(ggridges)
整个新系列。目前的几个系列, #R实战 以生信分析为主, #跟着CNS学作图 以复现顶刊Figure
为主,而本系列 #R绘图 则是学习不在文章中但同样很好看的图,致力于给同学们在数据可视化中提供新的思路和方法。
22
本期图片
这个图是美国1900年至今最常见的10个女孩姓名及其人数的可视化展示。
ggridges
对时间或者空间分布可视化具有十分好的效果。
示例数据和代码领取
https://mp.weixin.qq.com/s/zvTnITDjOL-atRBdOnmUUQ
绘制
# 加载相关包
library(ggridges) # 山峦图
library(viridis) # 配色
library(extrafont) # 字体
# 导入数据
female_names <- read.csv("female_names.csv")
#开始绘制
theme_set(theme_light()) # 主题
plot1 <- ggplot(female_names,
aes(year, y=fct_reorder(name, n),
height = n/50000, #降低高度以便可视化
group = name)) +
geom_ridgeline(alpha=0.5, size = 0,scale = 1.5, # scale缩放山峦高度,1为原比例
fill = "#05595B", color = "white") +
xlim(1900,NA) +
labs(title = '10 most common given female names\n in the US since 1900', y ="", x="") +
theme(plot.title = element_text(hjust = 0, family = "Bahnschrift", size =10),
axis.ticks.y = element_blank(),
axis.text = element_text(family = "Bahnschrift", size = 7),
panel.grid.major.x = element_blank(),
panel.grid.minor.x = element_blank(),
panel.grid.major.y = element_line(size =0.5),
panel.border = element_blank()) +
geom_segment(aes(x=1967, xend=1967, y=11.9, yend=10.7), # 相当于画个比例尺
color = "#404040") +
geom_segment(aes(x=1967, xend=1964, y=11.9, yend=11.9),
color = "#404040") +
annotate(geom = "text", x = 1970, y = 11.5,
label = "73,982 babies called\n'Mary'in 1921", hjust = "left",
size = 3, color = "#404040", family = "Bahnschrift")
plot1
#saving
ggsave("top_names.png",
plot1,
height = 4, width = 5,
dpi = 300,
bg = "white")
[图片上传失败...(image-6a32f3-1651981390916)]
参考
- https://github.com/lau-cloud/TidyTuesdaycode/blob/
往期内容
- (免费教程+代码领取)|跟着Cell学作图系列合集
- Q&A | 如何在论文中画出漂亮的插图?
- Front Immunol 复现 | 1. GEO数据下载及sva批次校正(PCA可视化)
- R绘图 | 气泡散点图+拟合曲线
- 跟着 Cell 学作图 | 桑葚图(ggalluvial)
- R绘图 | 对比条形图+连线
- R绘图 | 一幅小提琴图的美化之旅
[图片上传失败...(image-6c71aa-1651981390916)]