画图笔记:ggplot2优化柱形图(添加误差线、差异比较分析) 您所在的位置:网站首页 柱状图两两比较如何标记好看 画图笔记:ggplot2优化柱形图(添加误差线、差异比较分析)

画图笔记:ggplot2优化柱形图(添加误差线、差异比较分析)

2023-08-08 15:37| 来源: 网络整理| 查看: 265

马上放假了,今天我们来点基础的东西,画图的操作。 不想要这么丑的图。 图片 要优雅的输出结果 图片

「ggplot2中柱状图基本绘制函数常用geom_bar()」

参数介绍:

「data和mapping是ggplot的基本参数,数据和映射。」 mapping:使用aes函数指定,为aesthetic attributes的缩写。但字符串映射使用aes_string。aes:颜色(color颜色或边框颜色、fill填充颜色和 alpha透明度) 形状(linetype线型、size点的大小或线的宽度和 shape形状) 位置 (x, y, xmin, xmax, ymin, ymax, xend, yend) 指定数据分组和顺序的映射group和order,另一类是字符串映射。

关于映射的详细介绍->

一张统计图就是从数据到几何对象(点、线、条形等)的图形属性(颜色、形状、大小等)的一个映射。

✦ 数据(Data),最基础的是可视化的数据和一系列图形映射(aesthetic mappings),该映射描述了数据中的变量如何映射到可见的图形属性。 ✦ 几何对象(Geometric objects, geoms)代表在图中实际看到的点、线、多边形等。 ✦ 统计转换(Statistical trassformations, stats)是对数据进行某种汇总,例如将数据分组创建直方图,或将一个二维的关系用线性模型进行解释。 ✦ 标度(Scales)是将数据的取值映射到图形空间,例如用颜色、大小或形状来表示不同的取值,展现标度的常见做法是绘制图例和坐标轴。 ✦ 坐标系(Coordinate system, coord)描述数据是如何映射到图形所在的平面,同时提供看图所需的坐标轴和网格线。 ✦ 分面(faceting)如何将数据分解为子集,以及如何对子集作图并展示。 ✦ 主题(theme)控制细节显示,例如字体大小和图形的背景色。

「stat:」 设置统计方法,有效值是count(默认值) 和 identity,其中,count表示条形的高度是变量的数量,不能设定y值。identity表示条形的高度是变量的值;对于连续性变量使用bin,转换的结果使用变量density来表示。

「position:」 位置调整,有效值是stack、dodge和fill,默认值是stack(堆叠),是指两个条形图堆叠摆放,dodge是指两个条形图并行摆放,fill是指按照比例来堆叠条形图,每个条形图的高度都相等,但是高度表示的数量是不尽相同的。

「width:」 条形图的宽度,是个比值,默认值是0.9

「color:」条形图的线条颜色

「fill:」 条形图的填充色

基本演示 读取ImagJ数据及转换 #读取ImageJ dat=read.csv("Results.csv") class(dat) #加入分组信息 Group=rep(c("NC","A","B","A+B"),each=3) dat$Group=Group colnames(dat) dat=dat[,c("IntDen","Group")] a=dat[dat$Group=="NC",] a=mean(a$IntDen) dat$Relative=dat$IntDen/a 柱状图的顺序是由因子水平决定的,可以手动设置。 dat$Group=factor(dat$Group,levels = c("NC","A","B","A+B")) 基本画图操作 配色方案->最优质配色包 注意先按照某一列数据分色,然后手动填充颜色 library(ggplot2) library(ggpubr) ggplot(dat,aes(x=Group,y=Relative,fill=Group))+ geom_bar(stat="identity",width = 0.5,color="black")+ scale_fill_manual(values=c("#017A4AFF", "#FFCE4EFF", "#3D98D3FF","#FF363CFF"))+ theme_minimal()#主题皮肤 图片 数据调整及误差线增加

在ggplot2中可以直接结合stat_summary函数快速进行数据统计

所以stat可以设置为summary,将柱状图的高度设置为各组的均值并联合stat_summary函数增加误差线。

ggplot(dat,aes(x=Group,y=Relative,fill=Group))+ geom_bar(stat="summary",fun=mean,width = 0.5,color="black")+ scale_fill_manual(values=c("#017A4AFF", "#FFCE4EFF", "#3D98D3FF","#FF363CFF"))+ stat_summary(fun.data = 'mean_sd', geom = "errorbar", colour = "black", width = 0.25,position = position_dodge( .9))+ theme_minimal() 图片 增加抖动的点图 ggplot(dat,aes(x=Group,y=Relative,fill=Group))+ geom_bar(stat="summary",fun=mean,width = 0.5,color="black")+ scale_fill_manual(values=c("#017A4AFF", "#FFCE4EFF", "#3D98D3FF","#FF363CFF"))+ stat_summary(fun.data = 'mean_sd', geom = "errorbar", colour = "black", width = 0.25,position = position_dodge( .9))+ geom_jitter( size =5, alpha = 0.5, shape = 21) + theme_minimal() 图片 调整下字体大小和线条 p


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有