首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >用ggplot2 R显示背景中其他颜色的火山图点

用ggplot2 R显示背景中其他颜色的火山图点
EN

Stack Overflow用户
提问于 2022-10-26 01:35:58
回答 1查看 35关注 0票数 2

我编写了下面的代码来创建一个火山图,它是基于data.frame "gseaRes“的变量"group”着色的。有色点指的是我感兴趣的路径,而其他(不感兴趣的)路径应该是灰色的,在背景中。我使用geom_point中的参数"alpha“来使其更透明,但灰色点在灰色点内总是模糊不清,灰色点很难被看到,所以我们不知道它们是多少。我在徘徊,如果有人知道如何将这些点分为两层,一层对另一层,就像我们对顶部的散点图和线条所做的那样。有参数吗?还是用另一种方式编码?

下面是我使用的数据集:https://github.com/mariakondili/GSEA/blob/main/GSEA_dataframe.tsv

下面是我制作它的方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
suppressPackageStartupMessages(library(tidyverse)) 

gseaRes %>%  
mutate("group" = ifelse(str_detect(pathway,"blabla1"),"group1",
                                    ifelse(str_detect(pathway,"blabla2"), "group2",   
                                    ifelse(str_detect(pathway,"blabla3"), "group3",
                                    ifelse(str_detect(pathway,"blabla4"), "group4",
                                    ifelse(str_detect(pathway,"blabla5"),"group5","Other"))))))



ggplot(gseaRes , aes(x=-log10(padj), y=NES, size=size, col=group)) +
geom_point(alpha=ifelse(gseaRes$group=="Other",0.02, 1)) +
scale_color_manual(values = c("group1" = "violetred",
                              "group2" = "royalblue1" ,
                              "group3"="orange", 
                               "group4" = "cyan",
                               "group5" ="tomato4",
                               "Other" = "grey30")) + theme_classic()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-26 01:52:41

您可以使用两个传递筛选数据集的geom_point,一个只包含“其他”类别,一个包含您感兴趣的路径:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(tidyverse)

gseaRes <- read_tsv("https://raw.githubusercontent.com/mariakondili/GSEA/main/GSEA_dataframe.tsv")

gseaRes <- gseaRes %>%
  mutate(group = ifelse(str_detect(pathway, "_ACTIN"), "group1",
    ifelse(str_detect(pathway, "blabla"), "group2",
      ifelse(str_detect(pathway, "blabla"), "group3",
        ifelse(str_detect(pathway, "blabla"), "group4",
          ifelse(str_detect(pathway, "blabla"), "group5", "Other")
        )
      )
    )
  ))

ggplot(gseaRes, aes(x = -log10(padj), y = NES, size = size, col = group)) +
  geom_point(data = filter(gseaRes, group == "Other"), alpha = .02) +
  geom_point(data = filter(gseaRes, !group == "Other")) +
  scale_color_manual(values = c(
    "group1" = "violetred",
    "group2" = "royalblue1",
    "group3" = "orange",
    "group4" = "cyan",
    "group5" = "tomato4",
    "Other" = "grey30"
  )) +
  theme_classic()

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

https://stackoverflow.com/questions/74205581

复制
相关文章
获取activity返回参数
//把startActivity 换成startActivityForResult //然后重写onActivityResult方法 //—MainActivity btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this, TestActivity.class); intent.putExtra(“user”, new User(“shaomiao”, 2)); //startActivity(intent); startActivityForResult(intent,0); } });
tea9
2022/07/16
1.4K0
Shell 获取函数的返回值
函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高。 Shell 获取返回值,有两种方式。一种是通过return返回某个数字,一种是通过echo间接的拿到函数处理的结果。
芥末鱿鱼
2022/05/05
5.1K0
如何获取接口返回数据
在自动化测试中常常遇到接口测试,或是使用的数据需要从接口返回,那么如何来实现这种情况?
Peter Shen
2020/06/12
2.4K0
Android onActivityResult获取返回值的用法
现有 MainActivity,当它进入到 SecondActivity 后,在 SecondActivity 中进行了某些操作然后需要将值返回给 MainActivity 时,就需要用到 onActivityResult() 这个方法了,下面呢,我就具体来介绍一下用法。
用户8099761
2023/05/10
1.4K0
原生JS获取input上传的图片返回的地址
1. HTML文件 <li> <label for="uploadFile" class="upload-file">点击上传</label> <!-- 在CSS中将input隐藏,UI效果用label展示 --> <input type="file" name="upload_file" id="uploadFile" onchange="uploadImg()" /> <br> <!-- 没有上传的时候不显示 ,上传以后添加src--> <img id="
越陌度阡
2020/11/26
22.3K0
获取main方法的返回值「建议收藏」
Windows:要在windows系统下查看状态,键入C:directory>echo %ERRORLEVEL% (编译、链接程序之后,生成.exe文件,在cmd中运行.exe文件之后,运行C:directory>echo %ERRORLEVEL% 可以查看它的返回值。)
全栈程序员站长
2022/08/30
1.5K0
[android] 开启新的activity获取他的返回值
应用场景:打开一个新的activity,在这个activity上获取数据,返回给打开它的界面
唯一Chat
2019/09/10
1.2K0
[android] 开启新的activity获取他的返回值
JavaScript中获取input上传的图片返回的地址
1. HTML文件 <li> <label for="uploadFile" class="upload-file">点击上传</label> <!-- 在CSS中将input隐藏,UI效果用label展示 --> <input type="file" name="upload_file" id="uploadFile" onchange="uploadImg()" /> <br> <!-- 没有上传的时候不显示 ,上传以后添加src--> <img id=
越陌度阡
2022/11/27
4.2K0
【Python】python获取线程的返回值的方法
threading模块默认没有获取线程返回值的方法。 下面通过重写threading.Tread类来实现: from threading import Thread import random import time class MyThread(Thread): # 继承Thread类 def __init__(self,group=None, target=None, name=None, args=(), kwargs=None, *, daemin=None): Th
py3study
2020/01/09
1.6K0
【类型挑战】获取函数返回类型,难度⭐️⭐️
Dear,大家好,我是“前端小鑫同学”,😇长期从事前端开发,安卓开发,热衷技术,在编程路上越走越远~ 知识运用: 认识什么是returntypetype。 题目分析: 题目地址:2-medium-return-type 如上图所示,我们需要设计一个通用了类型工具还提取函数类型的返回类型,功能同内置的ReturnType。 题目解答: 测试用例: 给出的测试用例挺多但是没有特殊需要说明的,我们只需要通过设计的类型工具取出到通过Equal来进行比较即可。 /* _____________ 测试用例 _
前端小鑫同学
2022/12/26
1.2K0
【类型挑战】获取函数返回类型,难度⭐️⭐️
shell脚本 获取http返回码问题
1.返回3个值,根据200和OK来确定这个地址可以通 curl -I -s -connect-timeout 2 www.baidu.com|head -1|sed 's/ /\n/g'
陈不成i
2021/06/23
1.2K0
python 多进程获取返回值
1 def worker(procnum, return_dict): '''worker function''' print str(procnum) + ' represent!' return_dict[procnum] = procnum
用户5760343
2022/01/09
1.4K0
python多进程获取返回值
https://segmentfault.com/q/1010000010403117/a-1020000010411306
py3study
2020/01/09
8.4K1
Flutter路由管理和页面参数的传递(获取&返回)
在做 Flutter 开发的时候所有的页面以及页面上的元素都变成了 Widget ,创建一个页面或者视图直接 new 一个新的 widget 就可以,相关的参数我们可以直接通过构造函数直接传递。
静默加载
2020/05/29
4.8K0
python多线程,获取多线程的返回值
代码如下: # coding=utf-8 import threading from time import ctime, sleep # 多线程如何返回值 class MyThread(threading.Thread): def __init__(self,func,args=()): super(MyThread,self).__init__() self.func = func self.args = args def run(
MachineLP
2018/01/09
3.7K0
python多线程,获取多线程的返回值
Java发送Post请求,获取返回的请求头Header
在利用Java网络编程时,利用Java获取HTTP Request 和 Response头字段;
chenchenchen
2021/09/06
5.7K0
web 云开发获取匿名登录返回的uid
有时可能我们想对匿名登录返回的uid做处理,我们可能需要得到匿名登录的uid const app = tcb.init({ env: '替换云开发环境id' }); //匿名登录 app.auth({ persistence: 'local' //(local 30天 session(默认)关闭窗口 none 刷新后)清除身份验证状态 }) .anonymousAuthProvider() .s
用户7592570
2020/07/23
1.3K0
Python 获取线程返回值的三种方式
提到线程,你的大脑应该有这样的印象:我们可以控制它何时开始,却无法控制它何时结束,那么如何获取线程的返回值呢?今天就分享一下自己的一些做法。
somenzz
2022/10/25
2.9K0
AOP高级用法——获取方法的参数和返回值
我们平时在使用springAop的时候,经常是将某一个方法定义为一个切入点,用来做前置,后置或环绕增强,但如果想得到切入点方法的参数,以及它的返回值就需要做一些特定的配置。
Java深度编程
2020/06/10
14K0
aardio调用汇编代码获取返回值的方法
aardio编程软件可以对外部进程注入汇编代码,并且转换成aardio函数很方便的调用。有时候需要获取汇编代码内的某些数据,把这个数据作为aardio函数的返回值。要让注入代码的aardio函数有返回值,需要注意2点。
用户2135432
2018/10/11
2.1K0

相似问题

videoEmbeddable标志不工作

14

标志-useHCatalog不工作

34

JQuery标志不工作

30

netstat -p标志不工作

10

ListPopupWindow标志底座不工作

24
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文