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. kafka生产者和消费者api的简单使用

    kafka生产者和消费者api的简单使用 一.背景 二.需要实现的功能 1.生产者实现功能 1.KafkaProducer线程安全的,可以在多线程中使用. 2.消息发送的key和value的序列化 3 ...

  2. 期望dp好题选做

    前言: 最近连考两场期望dp的题目,sir说十分板子的题目我竟然一点也不会,而且讲过以后也觉得很不可改.于是开个坑. 1.晚测10 T2 大佬(kat) 明明有\(O(mlog)\)的写法,但是\(m ...

  3. 关于linux下编译的几点知识

    1.-L.-rpath 和 rpath_link的区别 参考博客文章:https://www.cnblogs.com/candl/p/7358384.html (1)-rpath和-rpath-lin ...

  4. P2120 [ZJOI2007]仓库建设

    P2120 [ZJOI2007]仓库建设 怎么说呢?算是很水的题了吧... 只要不要一开始就把dp想错就行... #include<bits/stdc++.h> #define ll lo ...

  5. pycharm软件安装和破解

    pycharm安装 1. 进入pycharm的官网 --- 下载专业版的pycharm 2. 双击下载好的软件,下一步 3. 选择需要安装软件的路径 --- 注意: 尽量不要将软件装在C盘里 4. 默 ...

  6. vim 打开文件的常用操作

    一.如果在终端中开没有打开vim,可以: 横向分割显示: $ vim -o filename1 filename2 纵向分割显示: $ vim -O filename1 filename2 二.如果已 ...

  7. 一文读懂什么是渲染管线(7k字)

    01 | 渲染基础 渲染(Render)定义 渲染在电脑绘图中是指软件从模型生成图像的过程,通俗讲就是在计算机里面给虚拟世界"拍照".渲染主要分为两种,一种是预渲染(pre-ren ...

  8. JSON数据和Java对象的相互转换

    JSON解析器: 常见的解析器: Jsonlib, Gson, fastjson, jackson 其中应用最广泛的是jackson,阿里的fastjson虽然比jackson快一点,但存在的问题比较 ...

  9. 计算机网络tcp

    tcp/ip协议 什么是这个协议:计算机与网络设备之间通信的时候,两者需要使用相同的语言,如何侦察到对方,如何传输,谁先传输,都需要规定有一系列的协议,而tcp/ip协议则是这样的一种 tcp/ip的 ...

  10. script标签引入vue方式开发如何写组件

    title: script标签引入vue方式开发如何写组件 date: 2020-05-08 sidebarDepth: 2 tags: vue 组件 script 标签 categories: vu ...