ggplot2绘图系统——几何对象之条图(包括误差条图)

1.条图

格式:

geom_bar(mapping = ,
data = ,
stat = 'count', #统计变换默认计数
position = 'stack', #默认堆栈
width = , #条形宽度
binwidth = ,
na.rm = FALSE,
show.legend = ,
inherit.aes = TRUE)

positon:

  • dodge并排
  • fill堆叠填充标准化为1
  • stack堆栈
  • identity不做调整
  • jitter点扰动

前四种排列方式分别如下图:

条形含义。

#默认对class分类变量计数
ggplot(mpg,aes(class))+geom_bar() #展示另一个变量的计数
ggplot(mpg,aes(class))+geom_bar(aes(weight=displ))+
ylab("count on displ")

自定义条图颜色。

p <- ggplot(dsmall,aes(x=color,fill=cut))
p+geom_bar(position = 'dodge')+scale_fill_brewer(type = 'qual')



scale_fill_brewer标度函数:

sale_fill_brewer(...,
type='seq',
palette=1, #色系
direction=1) #取色方向

type的三种类型与RColorRrewer包中调色板函数一致:seq连续型、div极端型、qual离散型。

scale_fill_brewerscale_fill_gradient的区别是前者通常针对离散型数据,后者针对连续型数据。

2.误差条图

有专门的几何对象,而非通过参数。

geom_crossbar #绘制盒形

geom_errorbar #绘制误差条图

geom_linerange #绘制一条线段

geom_pointrange #绘制点线段

geom_errorbarh #水平误差条图 horizontal

geom_errorbar示例(与geom_bar搭配)。

dff <- data.frame(mean_value=c(18,20,23,16,24,15),
group=factor(LETTERS[1:6]),
sd_value=c(1.4,1.7,2.1,1.2,1.9,1))
#error_bar上限下限
dff$lower <- with(dff,mean_value - 1.5*sd_value)
dff$upper <- with(dff,mean_value + 1.5*sd_value) p <- ggplot(dff,aes(group,mean_value))+
geom_bar(position = 'dodge',fill='sky blue',
stat = 'identity') p+geom_errorbar(aes(ymin=lower,ymax=upper),
position = 'dodge',width=0.2,
color='red')

geom_pointrange示例。

pp <- ggplot(dff,aes(group,mean_value))
pp+geom_pointrange(aes(ymin=lower,ymax=upper),
color='red',size=1.5,
fatten = 4) #点的大小

geom_errorbarh示例。

gp <- ggplot(dff,aes(x=mean_value,y=group))
#注意x和y互换了
gp+geom_errorbarh(aes(xmin=lower,xmax=upper),
height=0.2,color='blue')+
#height定义errorbar两端高度
geom_point(color='black',size=2.5)

R语言与医学统计图形-【12】ggplot2几何对象之条图的更多相关文章

  1. R语言与医学统计图形【5】饼图、条件图

    R语言基础绘图系统 基础图形--饼图.克利夫兰点图.条件图 6.饼图 pie(rep(1,26),col=rainbow(26), labels = LETTERS[1:26], #标签 radius ...

  2. R语言与医学统计图形【4】直方图、金字塔图

    R语言基础绘图系统 基础图形--直方图.金字塔图 3.直方图 参数设置及比较. op <- par(mfrow=c(2,3)) data <- rnorm(100,10,5) hist(d ...

  3. R语言与医学统计图形【3】条形图、误差图

    R语言基础绘图系统 基础图形--条形图.误差图 3.条形图 barplot接收的数据是矩阵而非数据框. data <- sample(c(50:80),5) barplot(data,col=h ...

  4. R语言与医学统计图形-【33】生存曲线、森林图、曼哈顿图

    1.生存曲线 基础包survival+扩展包survminer. survival包内置肺癌数据集lung. library(survival) library(survminer) str(lung ...

  5. R语言与医学统计图形-【28】ggplot2扩展包ggrepel、ggsci、gganimate、ggpubr

    ggplot2绘图系统--扩展包ggrepel.ggsci.gganimate.ggpubr等 部分扩展包可在CRAN直接下载,有些需借助devtools包从Github下载. 1. ggrepel包 ...

  6. R语言与医学统计图形-【15】ggplot2几何对象之线图

    ggplot2绘图系统--几何对象之线图 曲线:点连线.路径曲线.时间序列曲线.模型拟合曲线...... 直线:水平直线.垂直直线.斜线. 1.曲线 对象及其参数. #路径图 geom_path(ma ...

  7. R语言与医学统计图形-【18】ggplot2几何对象汇总

    ggplot2绘图系统--几何对象汇总 前面介绍了常见的几种基本的几何对象,并且介绍了scale.stat等其他要素.后续将介绍position.themes.coord和faceting等函数. 这 ...

  8. R语言与医学统计图形-【16】ggplot2几何对象之标签与文本

    ggplot2绘图系统--添加标签与文本.数学表达式.条形图文本.注释 1. 文本与标签添加 geom_label的文本将以标签形式出现,即文本会带有一个背景色. geom_text则是纯文本形式展示 ...

  9. R语言与医学统计图形-【11】ggplot2几何对象之散点图

    ggplot2绘图系统--几何对象之散点图 以geom开头的函数超过30个.几何对象和标度函数scale密不可分.只有在aes中传入某个变量,scale才能发挥作用. 所谓标度scale,就是图形遥控 ...

随机推荐

  1. LeetCode:树专题

    树专题 参考了力扣加加对与树专题的讲解,刷了些 leetcode 题,在此做一些记录,不然没几天就没印象了 力扣加加-树专题 总结 树的定义 // Definition for a binary tr ...

  2. 技术博客——微信小程序的架构与原理

    技术博客--微信小程序的架构与原理 在两个月的微信小程序开发过程中,我曾走了不少弯路,也曾被很多现在看来十分可笑的问题所困扰.这些弯路与困扰,基本上都是由于当时对小程序的架构理解不够充分,对小程序的原 ...

  3. 助你上手Vue3全家桶之Vue3教程

    目录 前言 1,setup 1.1,返回值 1.2,注意点 1.3,语法 1.4,setup的参数 2,ref 创建响应式数据 3,reactive 创建响应式数据 4,computed 计算属性 5 ...

  4. P4430 小猴打架

    P4430 小猴打架 题目意思就是让你求,在网格图中(任意两点都有边)的生成树的个数(边的顺序不同也算不同的方案). 首先我们考虑一个生成树,由于一定有n-1条边,单单考虑添加边的顺序,根据乘法原理, ...

  5. POJ 2584 T-Shirt Gumbo(二分图最大匹配)

    题意: 有五种衣服尺码:S,M,L,X,T N个人,每个人都有一个可以穿的衣服尺码的范围,例:SX,意思是可以穿S,M,L,X的衣服. 给出五种尺码的衣服各有多少件. 如果可以满足所有人的要求,输出 ...

  6. hdu 5018 Revenge of GCD

    题意: 给你两个数:X和Y  .输出它们的第K大公约数.若不存在输出 -1 数据范围: 1 <= X, Y, K <= 1 000 000 000 000 思路: 它俩的公约数一定是gcd ...

  7. Mac卸载go

    1.删除go目录 一般目录是 /usr/local/go sudo rm -rf /usr/local/go 2.清除环境变量配置 3. mac安装go后自动创建的问题也需要删除 sudo rm -r ...

  8. mybatis-plus查询指定字段

    show me the code :mybais-plus版本:3.1.1 1,排除某些字段,可以同时排除多个字段排除多个字段写法: .setEntity(new User()) .select(c ...

  9. 如何系统学习C 语言(下)之 预处理命令篇

    大话c语言(下)之 预处理命令篇 预处理就是在编译之前,通过一些预处理命令对源代码进行管理和控制的过程. 由源代码得到可执行的程序,会经过预处理.编译.汇编和链接几个过程 预处理命令大致可以分为文件包 ...

  10. 暑假算法练习Day6

    最近开始了实验室的生活,并且学习了bullet journal.希望接下来的每一天都能完成所有的任务. 1012 数字分类 (20 分) 给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数 ...