在绘制figure时,有连续性变量赋值时常常要用colorbar表示值的大小,如果有特殊的界值(如Pvalue<0.05, OR>1),需要将中间值单独设置个颜色作为区分。以我的自建数据集为例。

当不设置区分时

ggplot(data = dat1,aes(x = Dictionary.element,y = log(OR),color=-log(FDR))) +geom_point() +theme_bw()+geom_hline(yintercept = 1,color="red",linetype="dotted")+labs(x="Dictionary element",y="OR (95%CI)-log transformed")

此时无法判断哪个点为有意义。scales包中的scale_color_gradient2可以解决这个问题。

ggplot(data = dat1,aes(x = Dictionary.element,y = log(OR),color=-log(FDR))) +geom_point() +theme_bw()+geom_hline(yintercept = 1,color="red",linetype="dotted")+labs(x="Dictionary element",y="OR (95%CI)-log transformed")+scale_color_gradient2(midpoint = 3, mid = "white", high = muted("red"), low = muted("blue"), guide = "colourbar", space = "Lab")

2)方法二,scale_fill_gradientn

ggplot(data = dat1,aes(x = group,y = log(OR),color=-log(FDR))) +geom_point() +theme_bw()+geom_hline(yintercept = 1,color="red",linetype="dotted")+labs(x="Dictionary element",y="OR (95%CI)-log- transformed")+scale_color_gradientn(colours = c("blue","white","red"), values = rescale(c(1,3,15)),guide = "colorbar", limits=c(1,15))

想要设置对称时,可以修改limit和rescale范围,如

scale_color_gradientn(colours = c("blue","white","red"), values = rescale(c(-9,3,15)),guide = "colorbar", limits=c(-9,15))

 此时为以3位对称的colorbar

Reference:

r - asymmetric color distribution in scale_gradient2? - Stack Overflow

R中绘制以特定数值为对称的colorbar相关推荐

  1. R中千分位分隔符数值(美式数值)读取

    1. 千分位分割数值 对于英美数值数据,千分位分隔符(逗号分割)很常见,如下面一份房地产销售数据,land.squre.feet, gross.square.feet两列数据. 2. R不能自动识别千 ...

  2. 如何在R中绘制热力地图

    一.首先绘画出地图map 地图(map) 按一定的比例运用符号.颜色.文字注记等描绘显示地球表面的自然地理. 行政区域.社会经济状况的图形. 地图绘制思路: ① 绘制需要展示的地图,获取地图对象,获取 ...

  3. 如何在 R 中绘制 Beta 分布

    示例 1:绘制一个 Beta 分布 以下代码显示了如何绘制单个 Beta 分布: #define range p = seq(0,1, length=100)#create plot of Beta ...

  4. 大数据分析R中泊松回归模型实例

    如果您知道如何以及何时使用泊松回归,它可能是一个非常有用的工具.在大数据分析R中泊松回归模型实例中,我们将深入研究泊松回归,它是什么以及R程序员如何在现实世界中使用它. 具体来说,我们将介绍: 1)泊 ...

  5. csh sum算总和_如何在R中使用sum()–在R中查找元素的总和

    csh sum算总和 Let's learn how to find the sum of the values with the help of the sum() in R. In this tu ...

  6. 怎么让热图显示基因名_在热图中标注出特定基因名称

    原标题:在热图中标注出特定基因名称 对于基因的差异表达谱,常用热图作为展示.但有时差异基因可能非常的多,热图中不可能将所有基因的名称标注出来.那么此时不妨选择一些比较重要的基因(比方说p值最显著的那些 ...

  7. R可视化绘制威布尔分布(Weibull Distribution)

    R可视化绘制威布尔分布(Weibull Distribution) 韦布尔分布,即韦伯分布(Weibull distribution),又称韦氏分布或威布尔分布,是可靠性分析和寿命检验的理论基础. 威 ...

  8. mysql中转换成字符串_如何在R中转换字符串的大小写?

    mysql中转换成字符串 Hello, folks. In this tutorial we are going to convert the case of the string in R. The ...

  9. R| ggseg 绘制统计结果

    ggseg是2018年出的R工具包,可以在R中绘制到皮层或者皮层下区域的统计结果.和brainconn一样,解决了需要从R导出数据用其他软件作图的问题.ggseg基于ggplot,因此能用ggplot ...

最新文章

  1. 导入json数据到Elasticsearch(bulk方法)
  2. java怎么把大小写转换_JAVA 如何将String进行大小写转换
  3. 温州大学《深度学习》课程课件(七、卷积神经网络基础)
  4. 00018计算机应用基础2019年4月,2019年4月自考计算机应用基础考前试题和答案00018.pdf...
  5. oracle 脚本命令集合,Oracle命令行模式,批量执行SQL脚本
  6. Hadoop之Yarn面试知识复习
  7. php 打包上传的文件,PHP单文件上传原理及上传函数的打包
  8. Java Nashorn--Part 1
  9. 还在用递归查询 MySQL 的树形结构吗?教你一种更好的解决方案!
  10. jmeter脚本增强
  11. 2007年下半年网工考试试题+分析+标准答案
  12. 比特大爆炸为啥老显示服务器满,《有可能是史上最长停服维护公告》
  13. 【数学建模】五:MATLAB优化模型求解方法(1):标准模型
  14. 面试题大汇总华为面试题
  15. Excel不能自动求和的可能原因
  16. Excel数据分析系列(5):Excel 数据可视化
  17. MyBatis -- resultType 和 resultMap
  18. 新电脑自带的office密钥在哪里?
  19. WOW副本任务制作方法
  20. 华三模拟器完成交换机堆叠IRF实验

热门文章

  1. 从创业场转战资本市场,窥探投资人郭宇航眼中的金融科技“红利”
  2. C++实现带头结点单链表
  3. 计算机if函数得出三个结果,IF函数的三个小伙伴
  4. 烟台市莱山区计算机电脑培训班,烟台邦文电脑培训班|AB软件简介
  5. 全球计算机科学家排名更新:张宏江列中国籍学者第一
  6. [GIS热点] 数字智慧工程-数字城市、数字中国、数字地球、智慧城市、智慧地球
  7. python 方差分析_用Python学分析 - 单因素方差分析
  8. python字节码文件后缀_如何生成Python的字节码文件
  9. 数字化婚姻配对尝试问题(C++实现)
  10. linux展现文件夹目录