欢迎关注R语言数据分析指南
❝本节来复现「nature communications」中的一张论文图,「热图叠加折线图」。小编将通过一个精选案例进行详细演示,这里展示的图形仅做展示,折线图中的数据是经过人为构建的,过程仅供参考。希望能对各位观众老爷有所帮助。数据代码已经整合上传到2023VIP交流群,加群的观众老爷可自行下载,有需要的朋友可关注文末介绍加入VIP交流群
❞
关注下方公众号下回更新不迷路
论文
原图
加载R包
library(tidyverse)
library(cowplot)
导入数据
df <- read_tsv("group.xls")
绘制热图
heatmap <- df %>%
pivot_longer(-cluster) %>% # 将数据从宽格式转换为长格式,除了"cluster"列
separate(`name`, into = "name", sep = "-") %>% # 将"name"列根据"-"分隔成新的列
ggplot(aes(name, cluster, fill = value)) + # 使用ggplot绘图,设置映射
geom_tile() + # 添加瓷砖图层,用于绘制热图
scale_y_discrete(position = "right") + # 设置y轴刻度位置
scale_x_discrete(limits = c("Epipelagic", "Mesopelagic", "Deep")) + # 设置x轴刻度顺序
scale_fill_gradientn(colours = rev(RColorBrewer::brewer.pal(11, "RdBu"))) + # 设置颜色渐变
theme( # 设置主题
panel.background = element_blank(), # 设置面板背景为空
plot.background = element_blank(), # 设置绘图背景为空
legend.background = element_blank(), # 设置图例背景为空
plot.margin = margin(20, 200, 20, 20), # 设置绘图边距
axis.title = element_blank(), # 设置轴标题为空
axis.ticks = element_blank(), # 设置轴刻度为空
axis.text.x = element_text(angle = 45, color = "black", vjust = 1, hjust = 1), # 设置x轴文字样式
legend.position = c(3, 0.8), # 设置图例位置
legend.title = element_blank() # 设置图例标题为空
)
绘制线图
line <- read_tsv("type.xls") %>%
ggplot(aes(x = type, y = len, group = cluster, color = group)) + # 使用ggplot绘图,设置映射
geom_line() + # 添加线图层
geom_point(size = 2) + # 添加点图层,设置点的大小
geom_text(aes(label = text), nudge_x = 0.08) + # 添加文本图层,设置文本偏移
scale_x_discrete(limits = c("tVCs", "Hodts")) + # 设置x轴刻度顺序
scale_color_brewer(palette = "Paired") + # 设置颜色
theme( # 设置主题
plot.margin = margin(2, 2, 2, 0), # 设置绘图边距
plot.background = element_blank(), # 设置绘图背景为空
panel.background = element_blank(), # 设置面板背景为空
legend.position = "none", # 设置图例位置为无
panel.grid.major = element_blank(), # 设置主网格为空
panel.grid.minor = element_blank(), # 设置次网格为空
axis.text.y = element_blank(), # 设置y轴文字为空
axis.text.x = element_text(color = "black", face = "bold"), # 设置x轴文字样式
axis.title = element_blank(), # 设置轴标题为空
axis.ticks = element_blank() # 设置轴刻度为空
)
拼图
plot <- heatmap %>% ggdraw() +
draw_plot(line, scale = 0.93, x = 0.12, y = 0.023) # 添加线图到热图上
图形导出
ggsave(plot, file = "heatmap.pdf", width = 4.59, height = 8.33, dpi = 300) # 设置文件名、尺寸和分辨率
❝本节内容介绍到此结束,过程仅供参考;有需要学习个性化数据可视化的朋友,欢迎到小编的「淘宝店铺」 「R语言数据分析指南」购买「2023年度会员文档」同步更新中「售价149元」,内容主要包括各种「高分论文的图表分析复现以及一些个性化图表的绘制」均包含数据+代码;按照往年数据小编年产出约在150+以上
❞
购买后微信发小编订单截图即邀请进新的会员交流群,小编的文档为按年售卖,只包含当年度的「除系列课程外」的文档,有需要往年文档的朋友也可下单购买,需要了解更多信息的朋友欢迎淘宝店铺交流咨询。
淘宝店铺(淘宝扫一扫)

2023会员群案例展示










