大数跨境
0
0

R语言dotplot高亮术:用ggforce圈出关键信息

R语言dotplot高亮术:用ggforce圈出关键信息 R语言数据分析指南
2025-08-13
0

欢迎关注R语言数据分析指南

本节来介绍一类图如何对气泡热图进行重点标记,该功能主要使用ggforce包来实现。下方所示论文中有具体使用场景,可惜论文未提供数据,因此小编使用R内置数据集来进行展示,个人观点仅供参考无实际意义。有需要学习R语言绘图的朋友可关注文末介绍购买小编的R绘图文档。购买前请咨询,零基础不要买。

论文信息

Temporo-spatial cellular atlas of the regenerating alveolar niche in idiopathic pulmonary fibrosis

结果图

图形解读

该类图主要点在于对需要突出展示的数据进行标记,因此只需要筛选出对应的数据集使用geom_mark_rect()来进行标记即可,也算是一个小技巧。

代码展示

library(tidyverse)
library(ggforce)

mtcars_scaled <- mtcars %>%
  scale() %>%
  as.data.frame() %>%
  slice(1:20) %>% 
  rownames_to_column("car") %>%
  pivot_longer(-car, names_to = "variable",
               values_to = "zscore")

ggplot(mtcars_scaled,
       aes(x = variable, y = car)) +
  geom_point(aes(fill=zscore,size=zscore),pch=21) +
  scale_fill_gradient2(low = "#E64B35",
                       mid = "white", high = "#00A087",midpoint = 0) +
  scale_y_discrete(position = "left") +
  labs(x=NULL,y=NULL) +
  theme_bw() +
  theme(axis.text.x=element_text(color="black",angle=90,vjust=0.5),
        axis.text.y=element_text(color="black"))

高亮标记

筛选出数据
highlight1 <- mtcars_scaled %>%
  filter(car %in% c("Mazda RX4""Mazda RX4 Wag") &
      variable %in% c("hp")) %>%
  mutate(group = "1")   # 分组编号

highlight2 <- mtcars_scaled %>%
  filter(car %in% c("Merc 280") & variable %in% c("cyl")) %>%
  mutate(group = "2"

highlight3 <- mtcars_scaled %>%
  filter(car %in% c("Merc 450SL") & variable %in% c("disp","drat")) %>%
  mutate(group = "3"

highlight4 <- mtcars_scaled %>%
  filter(car %in% c("Datsun 710") & variable %in% c(variable)) %>%
  mutate(group = "4"
# 将所有数据整合
highlight <- highlight1 %>% bind_rows(highlight2,highlight3,highlight4)

ggplot(mtcars_scaled,
       aes(x = variable, y = car)) +
  geom_point(aes(fill=zscore,size=zscore),pch=21) +
  geom_mark_rect(data = highlight,aes(group = group),
                 expand = unit(3, "mm"),color = "red",fill = NA,size=1) +
  scale_fill_gradient2(low = "#E64B35",
                       mid = "white", high = "#00A087",midpoint = 0) +
  scale_y_discrete(position = "left") +
  labs(x=NULL,y=NULL) +
  theme_bw() +
  theme(axis.text.x=element_text(color="black",angle=90,vjust=0.5),
        axis.text.y=element_text(color="black"))

关注下方公众号下回更新不迷路

购买介绍

本节介绍到此结束,需要获取下方所示案例全部代码的读者,欢迎到淘宝店铺:R语言数据分析指南,购买小编的R语言可视化文档,2025年购买将获取2025年更新的绘图内容,同时将赠送2024年的绘图文档内容,其余内容无

更新的绘图内容包含数据+代码+注释文档+文档清单,小编只分享案例文档,不额外回答问题,无答疑服务,更新截止2025年12月31日结束,后续不在进行任何更新,零基础基础一般不推荐买。

淘宝店铺

2025年更新案例图展示


【声明】内容源于网络
0
0
R语言数据分析指南
R语言重症爱好者,喜欢绘制各种精美的图表,喜欢的小伙伴可以关注我,跟我一起学习
内容 1180
粉丝 0
R语言数据分析指南 R语言重症爱好者,喜欢绘制各种精美的图表,喜欢的小伙伴可以关注我,跟我一起学习
总阅读410
粉丝0
内容1.2k