首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >气泡图中的颜色渐变

气泡图中的颜色渐变
EN

Stack Overflow用户
提问于 2021-04-30 12:11:20
回答 2查看 79关注 0票数 1

我根据阈值来定义颜色。但是有没有办法给出一个颜色渐变呢?

代码语言:javascript
复制
df %>%
  mutate(X_value = 'Term') %>%
  ggplot(aes(x=X_value,y=p_value)) +
  geom_point(aes(size=abs(p_value)), 
             color = dplyr::case_when(df$p_value > -6 ~ "red", 
                                      df$p_value < 6 ~ "blue")) +
  
  geom_label_repel(aes(label=Pathway), size=3) +
  labs(y=NULL, x = NULL,color='p_value',size='p_value'

这给了我这个

这段代码

代码语言:javascript
复制
ggplot(df, aes(x=p_value,y=Term)) +
  geom_point(aes(color=p_value,size=p_value)) +
  scale_color_gradientn(colours = rainbow(5)) +
  labs(
    x='p_value', y=NULL,
    color='p_value',size='p_value'
  ) +
  theme(
    axis.title = element_text(face='bold'),
    axis.text = element_text(face='bold')
  )

给了我这个

我希望有第一个以及我想把在第二张照片中看到的颜色渐变。不确定怎么做,因为第一个图中的阈值是基于标记它的截止值的。

我的数据

代码语言:javascript
复制
structure(list(Term = c("Reactome Gene Sets", "GO Biological Processes", 
"GO Biological Processes", "GO Biological Processes", "GO Biological Processes", 
"GO Biological Processes"), Pathway = c("R-MMU-191273", "GO:0034341", 
"GO:0050900", "GO:0046942", "GO:0001817", "GO:0048871"), VVV = c("Cholesterol biosynthesis", 
"response to interferon-gamma", "leukocyte migration", "carboxylic acid transport", 
"regulation of cytokine production", "multicellular organismal homeostasis"
), p_value = c(-11.6414922875, -9.3148301923, -6.2150336681, 
-5.9190690396, -5.8467499202, -5.767770517)), row.names = c(NA, 
-6L), class = c("tbl_df", "tbl", "data.frame"))

如有任何建议或帮助,我们将不胜感激

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-04-30 12:38:21

您可以在其中一个类别上使用渐变,并使用灰色作为另一个类别,例如

代码语言:javascript
复制
df %>% 
  mutate(X_value = "Term") %>% 
  ggplot(aes(x = X_value, y = p_value)) +
  geom_point(aes(size = abs(p_value), color = p_value)) +
  geom_label_repel(aes(label = Pathway), size=3) +
  labs(y = NULL, x = NULL) +
  scale_color_gradientn(colours = rainbow(5), limits = c(-12, -6), breaks = c(-6, -12))

票数 1
EN

Stack Overflow用户

发布于 2021-04-30 12:37:27

您可以使用这种代码:

代码语言:javascript
复制
df %>%
  mutate(X_value = 'Term') %>%
  ggplot(aes(x=X_value,y=p_value)) +
  geom_point(aes(size=abs(p_value), 
                 color = df$p_value)) +
  scale_color_gradientn(colours = rainbow(5))+
  
  geom_label_repel(aes(label=Pathway), size=3) +
  labs(y=NULL, x = NULL,color='p_value',size='p_value')

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67328075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档