首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

R语言可视化——ggplot图表系统中的辅助线

在之前的推送中,曾经有过一篇介绍excel图表辅助线的制作方法,其中用到的技巧五花八门、令人眼花缭乱。 而ggplot图表系统中的辅助线添加起来却异常简单,非常易于操作。...当然这种均值线在分面状态下也是可以添加的。...+geom_hline(aes(yintercept=mean(price)),linetype=5,col="red")+geom_vline(aes(xintercept=mean(carat)),...像素画处理之后,再加上均值十字线,你可以清晰地看到,数据分布形态中,左下角最为密集。 辅助线的另外一种常见的用途就是在时间序列数据中。...start是一个代表日期的字段,也就是说我们可以赋值给geom_vline函数一个字段,从而在折线图中绘制出多个时间点的辅助线。

2.2K130

(数据科学学习手札38)ggplot2基本图形简述

abline()、hline()与vline()   在R的基础绘图系统中我们可以在已绘制的图床上通过abline来添加线条,在ggplot2中当然也有类似的方法: geom_abline():   ...ggplot(mtcars, aes(wt, mpg)) + geom_point() + geom_vline(xintercept = 1:5) p geom_hline():   同样的...,所以这里我们只与上述的堆积面积图进行对比,这里注意,geom_bar()默认的统计变换为count,即计算频数,我们这里想展示真实数值需要将geom_bar()中的stat设置为'identity',...,我们先从一维的说起: geom_density():   和R基本绘图系统中的密度曲线绘制方法很接近: library(ggplot2) data 的,它通过图形表现五数概括的情况,在数据基本的描述性统计中具有重要意义,而ggplot2中必然可以绘制箱线图,而且可以绘制得非常精美,下面先看一个最朴素的分组箱线图形式: p <-

5.3K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    画出最佳分组的生存曲线

    背景 做生存分析,Best separation和Median separation,后者很简单,很想学前者,这次带来的是最佳分组的曲线代码。...一、使用场景 在展示基因表达水平(连续变量)对生存期的影响时找到最佳分组 二、准备文件 包含基因表达水平、生存时间、追踪情况等三列的文件,测试用文件为20230904.txt rm(list = ls(...、最佳分组生存曲线、遍历所有分组情况下的P值和Hazard Ratio的分布情况 3.1 Median separation #先根据表达水平的中位值分组,画生存曲线,保存 ssdf<-cbind(sortsv...legend=c(0.7,0.9),legend.labs=c("High-expression","low-expression")) sc_median dev.off() 遍历所有分组情况,计算...比如这次的案例270人,本来中位值分布后两组均是135人,而采用最佳分组后则是high 264人和low 6人。这样的分组结果很难说服别人。 写在最后:有时间我们会努力更新的。

    35620

    ggplot2-plotly|让你的火山图“活”过来

    和文献中的差距较大,以下几个方面可改进: A:上下调基因的区分; B:横轴,纵轴的阈值线; C:重点基因的标示。...2.2 细节优化火山图 1)根据阈值设定上下调基因 新增change列,利用ifelse函数添加基因的上下调情况,color进行区分,然后使用geom_hline() 和 geom_vline( )参数添加阈值线...2)添加阈值线 使用geom_hline() 和 geom_vline( )参数添加阈值线 ggplot(data = data, aes(x = logFC, y = -log10(adj.P.Val...5) 标示感兴趣的基因的表达情况 将我们感兴趣的基因添加到数据的LABEL列中,假设以下几个基因是我们重点关注的基因,单独查看以下基因的表达情况 ?...呐,到这里除了数据不一样,基本实现了文献中的火山图,是不是以为到这就结束了?NO!NO!NO! 实现上述静态的就可以发paper去了!

    3.3K21

    R-ggplot2

    BUT, HOWEVER 组会上把精心调好的图展示出来的时候,还是有时候会觉得不太好看 于是乎就有了今天这篇帖子,旨在搜罗网上比较全的颜色贴,好好滴总结一波,希望可以帮到同样是选择困难症的你。...to=https%3A%2F%2Fcrudata.uea.ac.uk%2Fcru%2Fdata%2Fdrought%2F)” 中的2018年12月的数据进行绘图示例。...Garnier研发, 包含viridis, magma, plasma, inferno及默认共5个色带组(图1-2),对应scale_fill/color_viridis(option =" " )中的...增加 Wes Anderson色带(来自一些顶级期刊,如柳叶刀) 由于Wes Anderson 色带组中大多颜色带所含颜色数量为4-5个(图8-9),因此在此,我对 df 中的干旱分类组进行压缩,将Abnormal...')+geom_vline(aes(xintercept=-100),linetype='dashed',alpha=0.5,lwd=0.5,color='black')+geom_vline(aes(

    30000

    R绘图|染色体SNP指数图绘制

    /sliding_window.tsv", header=FALSE) # 在snp_index中需要用到数据有:V1(所在的染色体位置)、V2(在某条染色体上的特定位置)、V8(SNP-index值...); # 在sliding_window中需要用到的数据有:V1(所在的染色体位置)、V2(在某条染色体上的特定位置)、V5(滑窗区域中的SNP-index均值); snp_index sliding_window...geom_line(data = sliding_window, aes(x = V2, y = V5), size = 1)+ # 设置纵坐标轴的刻度范围 ylim(0,1)+ # 将图按照所在的染色体位置进行分面...;ncol设置列数,将五条染色体的结果水平分布;strip.position设置标签的位置;scales设置横坐标的比例尺自由变化,跟随染色的大小变化。...,以2号染色体为例,与上图的绘制方法基本一致,但是需要取消分面。

    1.2K20

    一小时掌握R语言数据可视化

    那么首先我们得有一张画布(如果没有安装R语言和ggplot2请见《 十八-R语言特征工程实战 》) [root@centos $] R> library(ggplot2) > ggplot() 使用geom_abline、geom_hline...、geom_vline画直线 下面我们来在这张画布上画一条横线: > ggplot() + geom_hline(yintercept = 5) 我们也可以画一条竖线 > ggplot() + geom_vline...geom_hline或geom_vline,但是画点涉及到的是一些x、y的数据值,ggplot是把数据和作图撇清的,也就是数据是数据,成像是成像 我们先来构造点: > x <- c(1,2,3) > y...(data, aes(x)) + geom_bar() > ggplot(data, aes(x<2)) + geom_bar() 当然我们可以自己指定直方图的高度的计算方法,以下两种方法效果相同 >...(左),也可以用填充的方式(中),当然也可以两者结合 > ggplot(data, aes(x, colour = factor(y))) + geom_density(adjust = 1/5) >

    1.3K120

    「R」数据可视化11:PCA和PCoA图

    其实不论是PCoA还是PCA图均是用散点图来展示结果PCoA和PCA的结果,PCoA和PCA准确来讲是数据降维分析方法。...PCA对原始数据的正则化或预处理敏感(相对缩放)。PCA是最简单的以特征量分析多元统计分布的方法。通常情况下,这种运算可以被看作是揭露数据的内部结构,从而更好的解释数据的变量的方法。 ?...PCoA与PCA都是降低数据维度的方法,**但是差异在在于PCA是基于原始矩阵,而PCoA是基于通过原始矩阵计算出的距离矩阵。...**因此,PCA是尽力保留数据中的变异让点的位置不改动,而PCoA是尽力保证原本的距离关系不发生改变,也就是使得原始数据间点的距离与投影中即结果中各点之间的距离尽可能相关(如图)。 ?...通常来说在微生物组的研究中,我们会根据物种丰度的文件对数据进行PCA或者PCoA分析,也是我们所说的beta-diveristy分析,根据PCA或者PCoA的结果看疾病组和对照组能否分开,以了解微生物组的总体变化情况

    2.4K11

    跟着GlobalChangeBiology学作图:R语言ggplot2点线图(2)给分面添加注释

    Figure3,这个是之前有读者在公众号后台的留言,之前我不知道怎么实现这种好几个子图中间没有空白的形式,有读者留言可以用分面然后调节主题里的参数panel.spacing = unit(0,'lines...'),有了基本思路就可以尝试一下这个图 image.png 今天的推文主要介绍如何给每个分面单独添加注释,这里需要用到一个自定义函数 annotation_custom2 <- function (grob..."SOC concentration"), expand = expansion(mult = c(0,0)))+ geom_vline...(xintercept = 0, color="gray", lty="dashed")+ geom_hline(yintercept = 1,...比如在第一个分面添加一个文本 library(tidyverse) p1+ annotation_custom2( data = dat %>% filter(group01=="(a

    63511

    机器学习中的距离计算方法

    设平面上两个点为(x1,y1)(x2,y2) 一、欧式距离 欧氏距离是一个通常采用的距离定义,指两个点之间的真实距离 二、曼哈顿距离 我们可以定义曼哈顿距离的正式意义为L1-距离或城市区块距离,也就是在欧几里德空间的固定直角坐标系上两点所形成的线段对轴产生的投影的距离总和...例如在平面上,坐标(x1,y1)的i点与坐标(x2,y2)的j点的曼哈顿距离为: d(i,j)=|X1-X2|+|Y1-Y2|....cos= 四、切比雪夫距离 切比雪夫距离是向量空间中的一种度量,二个点之间的距离定义是其各坐标数值差绝对值的最大值。...max{|x1-x2|,|y1-y2|} 国际象棋棋盘上二个位置间的切比雪夫距离是指王要从一个位子移至另一个位子需要走的步数。由于王可以往斜前或斜后方向移动一格,因此可以较有效率的到达目的的格子。...下图是棋盘上所有位置距f6位置的切比雪夫距离。

    68420

    javascript中各种计算位置高度的方法

    scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离 scrollWidth:获取对象的滚动宽度...offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度 offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置...offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置 event.clientX 相对文档的水平座标 event.clientY 相对文档的垂直座标...event.offsetX 相对容器的水平坐标 event.offsetY 相对容器的垂直坐标 document.documentElement.scrollTop 垂直方向滚动的值...; 而不是: document.body.scrollTop; documentElement 对应的是 html 标签,而 body 对应的是 body 标签

    1.6K20
    领券