ggplot箱线图_ggplot箱线图统计学检验
2025-04-16 05:46 - 立有生活网
1.ggplot2——
ggplot2 是一个用来绘制统计图形或数据图形的 R 包。与大多数其他图形软件包不同,ggplot2 具有基于图形语法的底层语法构建,它允许您通过组合不同的组件来组合图形。这使得 ggplot2 作图功能非常的强大。您可以针对您的特定问题而绘制想要展现的图形,而不仅仅局限于一组预定义的图形。
ggplot箱线图_ggplot箱线图统计学检验
ggplot箱线图_ggplot箱线图统计学检验
ggplot箱线图_ggplot箱线图统计学检验
ggplot箱线图_ggplot箱线图统计学检验
ggplot2 提供了漂亮、轻松的绘图,可以处理繁琐的细节,例如绘制图例。事实上,其精心选择的默认设置意味着您可以在几秒钟内制作出出版质量的图形。但是,如果您确实有特殊的格式要求,ggplot2 的综合主题系统可以让您轻松完成所需的工作。最终,这意味着与其花时间让图表看起来漂亮,不如专注于创建最能揭示数据中信息的图表。
学习语法不仅可以帮助您创建熟悉的图形,还可以启发你创作出更佳的方案。没有语法,就没有基础理论,因此大多数图形包是各种情况的组合。例如,在R的基础包中,如果您设计一个新图形,它由原始绘图元素(如线和点)组成,因此很难设计与现有绘图相结合的新组件。在 ggplot2 中,用于创建新图形的表达式由更高级别的元素组成,例如原始数据和统计转换的表示,可以轻松地与新数据集和其他绘图组合。
Wilkinson创建了图形语法来描述构成所有统计图形基础的基本特征。该语法回答了“什么是统计图形”这一问题。ggplot22建立在威尔金森语法的基础上,专注于层的首要地位,并将其用于R中。简而言之,语法告诉我们,图形将数据映射到几何对象(geom 点、线、条)的图形属性(aes 颜色、形状、大小)。plot也可能包括关于plot坐标系统的数据和信息的统计转换。分面(facet )可用于绘制数据的不同子集。这些组件的组合构成了一个图形。
所有绘图均由 数据 、可视化的信息和 映射 (数据变量如何映射到图形属性Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1的描述)组成。有五个映射组件:
同样重要的是要注意语法不做的事情:
在使用之前,请安装好以下软件:
如果你想更加深入的了解 ggplot2 语法的元素以及它们如何组合在一起,可以参阅以下文档。
有关 ggplot2 函点(point, text):往往只有x、y指定位置,有shape但没有fill数及其参数的详细细节可以在线访问, ,并使用 R 中帮助(?...)访问。在线文档的优点是您可以查看所有示例图并更轻松地切换。
如果您经常使用 ggplot2,注册 ggplot2 邮件列表 。该列表的流量相对较低,对新用户非常友好。另一个有用的资源是 stackoverflow, 。stackoverflow 上有一个ggplot2 社区,很多常见的问题已经有人提出并解决了。
ggplot2 中的函数数量可能非常多,但 RStudio 提供了一些很棒的目录,可以在 上快速记忆。
参考文献
R 数据可视化 —— ggplot 柱状图/条形图
变换为地图投影ggplot2 中有两种绘制条形图的函数: geom_bar() 和 geom_col()
geom_bar() 使条形的高度与每个组中的观察值的数目成正比,或者如果设置了 weight 参数,则为分组内指定的所有权重变量值之和
如果你想直接使用条形图的高度来表示数据中的值,可以使用 geom_col()
geom_bar() 默认使用的统计变换方法是 count ,而 geom_col( ) 使用 identity 不做变换。
使用 weight 参数来统计分组内 displ 变量值之和
使用翻转坐标轴的方式,因为有些图形是无法修改属性映射的。
使用 geom_col 绘制条形图
简单堆积条形图
翻转堆积条形图,并反转堆积顺序
本来的堆积顺序是,蓝色在最下面,然后是绿色,是粉色,使用 ition_stack 将该顺序逆转
那如何在堆叠块之间设置空白间距呢?
我们可以先设置 lwd 参数,增加外框线的宽度,然后将外框线的颜色设置成背景颜色,就可以达到目的了
那我不知道背景颜色怎么办?也很简单。
我们在主题章节介绍过 theme_get 函数可以获取当前主题,只要找到当前主题的 panel.background 属性,并找到对应的填充色 fill 就可以知道啦。
好了,现在知道了背景色为 grey92 ,那么我就可以绘制了
当然,你也可以指定分隔区的颜色,然后将背景色改为相应的颜色就可以了
如果我们想知道每个分组中各部分的占比情况,可以设置 ition = 'fill' 或者 ition_fill() 函数来绘制百分比条形图,例如
条形图默认会绘然后,就是按照你的需要一步步加图层了(使用“+”)。制堆积条形图,我们可以使用 ition_dodge 和 ition_dodge2 来绘制并列条形图
我们来看看这两个函数的区别,当不传递参数时,可以传入字符串 dodge 或 dodge2 ,分别代表这两个函数
我们可以看到, dodge 同一组内的柱子是靠近在一起的,而 dodge2 有空白间距。
组内柱子之间的间距怎么设置呢?这两个函数的设置方式会有些别
我们可以看到,图 A 、 B 设置的是分组总的宽度,宽度小于 1 会导致组内柱子之间交叠,如果大于 1 会导致组间出现交叠
而图 C 、 D 通过设置不同的 padding 值,会影响柱子的宽度,通过压缩柱子的宽度来增加组内间距。
我们在并列条形图的基础上,绘制误线
因为我们在绘制误线时需要用到每个柱子的大小,所以在这里,我们先对数据进行了汇总,然后使用 geom_col 绘制条形图。
有时候,我们可能想知道条形图的每个柱子的具体数值或占比情况,需要为每个柱子添加文本注释信息
我们使用 geom_text 添加标签注释,有几点需要注意
堆叠的例子
2021-10-07 ggplot2进行图形化作之缩放
由于默认情况下,会保持分组的宽度一致,这就造成分类少的组内柱子宽度更大,我们可以设置 preserve = 'single' 保持每个柱子的宽度是一样的。控制图形范围的方法有3种:
用mpg数据演示:
可以明显看到,筛选到所展示的数据部分,拟合曲线发生了变化,置信区间也比图1的要宽很多。因为图1采用全部数据拟合,数据量更多,拟合更加稳健。而过滤掉数据后,拟合则是在筛选数据的基础之上。
标度的范围设置是对数据取子集,然后再重新拟合曲线。但是在class分类中仍然保留了所有的类别,所以图例与纯filter有所异。
可以看出,这里的图像就是原图的局部放大,拟合曲线也没有发生变化,仍然表现的是整体数据的拟合线。坐标系的放缩就是图像的放缩。
所以在对局部数据进行缩放时,采用coord_cartesian()函数非常的关键。
在最终成图如下:进行数据分组展示时候,容易出现坐标轴不统一,直接影响了两者的直观对比效果,这时候就需要再不同图形间使用相同的标度。
对于这个特定的例子,也可以通过分面解决;
相比而言,设定标度范围适用性更广,还可以在跨页的图形中使用。
ggplot2图例调成一列,终于找到了解决办法
有时图例较多,用ggplot2画图时候会出现图例占据图的半壁江山,想让图例排成一列,解决方法如下:
g地图的平面展示uid首先,数据的初始化跟上面那个例子是相同的。然后,因为color放到了aes里,于是ggplot开始搜索mtcars里面的向量了,发现没有叫"green"的,然后又找了global,也没有。于是,ggplot就开始把它认作了一个新的向量。等等,有个问题,我要按照这个向量来分别染色,而事实上,这个向量长度为1,怎么办?ggplot就先把他展开成了factor(rep("green",nrow(mtcars)),lls = unique("green")),bingo!现在开始染色了。啊个数据mtcars$mpg[1]、mtcars$wt[1],其颜色变量是"green",因子水平是1,染成默认调色种,哦,就是这个蛋蛋的粉红色;再染第二个,还是"green",因子水平也是1,染成蛋蛋的粉红色;... 终于完成了,咦?怎么都是蛋蛋的粉红色。es(fill = guide_legend( ncol = 1, byrow = TRUE))
利用ggplot2绘制SCI样式的UMAP图
text(13,20, expression(x[1] == x[2]))Seurat包展示出来的umap/tsne图第四步,调整。这里的调整主要是使用微调图形这大类的函数做美学特征、坐标轴、标题、绘图主题的调整。这部分也就是继承了命令式作图的思想,使ggplot2的灵活性增加。都是带有横纵坐标,基于Seurat包可能比较难调整的样式,只能借助AI或者PS处理。这次借助ggplot2进行可视化,对于Seurat出来的umap/tsne后期的微调。
ggplot2是可视化包吗
注意,在这里我们的绘制思路稍显不同,我们是充分利用了ggplot2的图层优势,将整个图分成了四个部分进行绘制( 就是4个geom_point() ),这是非常有用的。同时我们也通过 labs() 函数个性化调整了横纵坐标的名称。通过 geom_vline() 和 geom_hline() 添加了横竖线。最终成图如下:ggplot2是一个在这一步之中,我们也要回到我们在步时出现的问题,aes到底是什么?为什么说任何与数据向量顺序相关,需要逐个指定的参数都必须写在aes里?什么时候color、shape、size、fill写外面,什么时候写里面?非常强大和灵活的可视化工具,对于数据分析和可视化任务来说非常有用 ggplot2是可视化包,非常流行。它是由Hadley Wickham开发的,旨在提供一种易于使用和灵活的可视化工具,用于数据分析和图形制作。
ggplot2包提供了一种基于对象的设计,允许用户创建复杂的图形,同时提供了大量的选项和配置,以适应不同的数据和可视化需求。它具有强大的功能,包括数据层、颜色、标签、图例、坐标轴选项等,可以轻松地创建各种类型的图形,如散点图、线图、柱状图、面积图、热力图等。 使用ggplot2包,用户可以轻松地将数据集转换为高质量的图形,这些图形可以用于数据探索、报告和演示目的。它还提供了许多内置的图形类型和定制选项,以及用户友好的接口,使得创建复杂的图形变得简单而直观。
总的来说,ggplot2是一个非常强大和灵活的可视化工具,对于数据分析和可视化任务来说非常有用。它易于学习,并且提供了大量的文档和支持资源,使得用户可以轻松地掌握它的使用方法。
转录组不求人系列(十三): GO、KEGG富集个性化作图
theme函数主要的用途是调节图的主题。如下图,主题主要分为整幅图 plot ,坐标轴 axis ,图例 legend ,面板 panel 和分面元素 facet 。其中经常用到的是坐标轴主题的修改,比如常见的坐标轴字体大小的修改。当富集分析完成,拿到如下的分析结果后,就可以进行作图了。
富集分析结果的可视化无非就是柱状图和气泡图,但是公司默认出图实在是太丑,所以还是自己动手修改修改。
一、常规柱状图(ggplot2)
横轴为gene counts,或者用-logP也行,填充相应的用P值或者gene counts。ggplot画图的好处就是可以进行很多调整。
二、常规气泡图(ggplot2我们现在就使用坐标转换来重新画这个图:)
气泡图与柱状图如出一辙,只是在展示方式上出现了别。一个用geom_bar()函数,气泡图类似于散点图用geom_point()函数。
很多时候研究者拿到异基因后,上下调基因是分别富集的,在展示上需要同时体现二者,我们之前提到metascape可以做到: 转录组不求人系列(十二): Cell文章最喜欢用的异基因GO、KEGG富集分析工具 ,除此之外,之前讲过的气泡图也可以展现多组的结果: 复现《nature communications》图表(四):ggplot画多组富集气泡图 。这里我们继续提供一种bar图的展示方式。将down的数值调整为负,做一列分组,就可以展示了。
当然了,以上所说的可视化还是比较常规,在基础上可以自己做调整。也有一些文章总是标新立意,有很多奇特的展现方式,我们会在之后的系列中讲解。
ggplot画分页图
带(ribbon,ooth):透明是特征是透明的fill由于有较多组的样品需要比较,皆为小提琴图,因此需要将多个样品的小提琴图放在一张图上面比较,比如下图:
这里用于画图的数据皆来自科学网 lyao222lll 的个人博客,这里画分页图主要用的数据为alpha1,数据结构如下:
参数说明:
strip.text:主要调整标题大小或者颜色。
strip.background:标题的背景颜色,可以选择颜色或者调整边框颜色。
strip.text.y或者strip.text.x:调整x轴或者y轴标题。画图只坐标轴变换与标度函数变换的区别是,标度函数的变换发生在统计计算之前,而坐标轴变换是发生在统计计算之后。有x轴,因此如果设置为element_blank(),将不显示标题。
scales :是分页画图中非常重要的一个命令,如果是scales = 'free',则表明每一副图将根据各自的数据调整图的内容,但是如果这样的话,各个图的坐标轴将不一样,如果想要将各个图的坐标设置一样,将不能设置free,该参数可以对某个坐标轴进行设定,其值可以等于 'free_x'和'free_x'。
参考博客:ggplot2画分面图
参数说明:Wrap a 1d ribbon of panels into 2d
facet_wrap分页画图一些参数微调说明
plot_grid简单的说明
ggplot2应用(二)——火山图绘制(volcano plot)
好了,我们可以发现了,一个单纯的geom_point里面也是带有stat_的,因此,其实geom_和stat_实际上是一回事。可能你会问了,那照我的说法,以上这幅图用的是geom_point里的一个参数,而不是再用stat_sum,这是一回事吗?bingo!这个问题相当好,的确,按照以上的推理,应该存在一种以stat_sum作为主函数的方法来绘制这幅图,搞不好,里面还有个参数geom,要设置成“point”。我们来实践一下吧:火山图(volcano plot) 是散点图的一种,它将统计学中的显著性度量和变化幅度相结合,从而能够帮助我们快速直观地识别那些变化幅度较大且具有统计学意义的对象。本篇文章将简单介绍应用ggplot2进行火山图的绘制,当然这肯定是不够放在文章上面的,相关的细节调整还需要进行个性化的学习。
三、上下调同时展示(ggplot2)前面提到火山图可以将统计学中的显著性度量和变化幅度相结合,这里的显著性度量为相应的统计学检验的置信度参数,例如t检验;而变化幅度一般呈现为比例,即fold change。但是我们一般在进行火山图的绘制时会对这两个值进行相应的转换:将显著性度量参数P-Value转换为-log10(P_Value),将变化幅度fold change转换为log2(fold_change)。同时,Adjust P_Value为数据显著性参数,这个值来自于对P_Value的校正,防止出现阳性和阴性,我们一般会使用Adjust P_Value而不是P_Value。这样的转换使得这两个值越大,相应的对象也就异越显著。
本次的测试数据可通过留言获取,这里仅展示部分:
可以看到,这个数据当中log2(fold_change)已经天然存在,Adjust P_Value也已经存在,只不过需要我们进行-log10的转换。
绘制火山图:
今天又是摸鱼的一天!
ggplot2如何在多个图像之间使用统一的配色
p <- ggplot(data = , aes(x = , y = ))当使用ggplot2构建多个但是需要其中的元素使用统一的配色方案可以参考如下方案进行:
绘制水平条形图,有两种方式,反转坐标轴或者将数据设置在 y 轴设置一个带有name的向量,之后使用scale_colour_manual(values = colour) (如果是fill进行分组则使用scale_fill_manual),这样就可以在多个之间使用统一的配色方案啦~
造梦西游2悟空装备大全 造梦西游2悟空所有装

造梦西游2的白霜镜怎么得? 血海魔童 造梦西游2悟空装备大全 造梦西游2悟空所有装备 造梦西游2悟空装备大全 造梦西游2悟空所有装备 造梦西游2悟空装备大全 造梦西游2悟空所有装备 合成公式:···
奖品说明一般都写什么_奖品发放说明

给学生的奖品写什么好 日常教学中,为了产生更好的教学效果和激发学生的学习积极性,教师们经常会给学生们发放一些奖品,那么奖品的设计要注意哪些方面呢? 奖品说明一般都写什么_奖品发···
语文100分作文多少分 语文100分试卷作文占多少

高考语文作文多少分 高考语文作文满分为60分,根据各地的试卷不同分数也有细微的别。 语文100分作文多少分 语文100分试卷作文占多少分 语文100分作文多少分 语文100分试卷作文占多少分 语文10···