ggplot2柱形图Y轴坐标扩展的简单方法

2023-05-16

ggplot2的坐标轴主要由映射aes确定,expand_limits和coord_cartesian虽然可以调整坐标轴刻度,但对柱形图不大适用。不少使用者对扩展柱形图Y轴坐标很烦恼,有人从源代码层面对开发者提出要求,但似乎Hadley对这些要求无动于衷。其实根本不用动源代码就有简单的解决办法:



library(ggplot2)
dtx <- data.frame(label = LETTERS[1:6], mean = sample(80:100, 6), sd = sample(1:10,
    6))
p <- ggplot(dtx, aes(x = label, y = mean, ymin = mean - sd, ymax = mean + sd)) +
    theme_bw()
p <- p + geom_bar(stat = "identity", width = 0.6, fill = "gray", color = "black") +
    geom_errorbar(width = 0.3)
p
p + scale_y_continuous(expand = c(0, 0))
p + scale_y_continuous(expand = c(0, 0)) + geom_blank(aes(y = (mean + sd) *
    1.2))
p + scale_y_continuous(expand = c(0, 0)) + geom_blank(aes(y = 120))
p + scale_y_continuous(expand = c(0, 0)) + geom_text(aes(y = 120), label = "")
  


  • 第1图是ggplot2默认的柱形图Y轴坐标
  • 第2图使用了expand=c(0,0)设置,最大数据与边框重叠,这是问题所在
  • 第3-5图是解决办法,可以使用geom_blank或geom_text




作者: ZGUANG@LZU

Created: 2017-10-22 日 10:51

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ggplot2柱形图Y轴坐标扩展的简单方法 的相关文章

  • 按组手动填充多个比例的geom_tile

    I have the following current output 我的目标是像这样的着色 但只填充到最大级别 例如填充停止在当前级别 创建此数据的数据是 df lt tribble Question Code RespondentLe
  • 将 R ggplot 中直方图中的 y 轴标准化为按组比例

    我的问题非常类似于将 R ggplot 中直方图中的 y 轴标准化为比例 https stackoverflow com questions 11766856 normalizing y axis in histograms in r gg
  • ggplot2堆叠条形图数据标签向后

    我想在 ggplot2 中创建一个堆积条形图 其中数据标签位于与其相关的填充区域的中心 我尝试过的代码的标签顺序与应有的顺序相反 这是代码示例 data rep lt data frame Task Number c 5 004 5 004
  • R 堆积百分比频率直方图以及基于聚合数据的百分比

    I believe my question is very similar to this post https stackoverflow com questions 34903368 how to center stacked perc
  • ggplot 具有多个回归线以显示随机效应

    我知道this https stackoverflow com a 12281663 4089351 and this https stackoverflow com a 25753089 4089351帖子 但是 当我尝试以下操作时 我似
  • 使用 geom_line 绘制多条线(基于分组)

    请帮助我 关于当我尝试在 ggplot2 中使用 geom line 绘制分组的多条线时遇到的问题 当我尝试根据一个变量 列 即 区域 对行进行分组时 问题就出现了 GDP time series analysis gt group by
  • 在空的 ggplot 中获取图例着色

    在呈现实际数据之前 我想制作一张与带有数据的图相同的图 但其中没有数据点 这有助于我解释如何解释这样的情节 而不用情节中的实际数据分散观众的注意力 所以在下面的代码中我基本上想交换geom point with geom blank 没问题
  • 创建相反方向的水平条形图

    我正在尝试在 R 中做一个金字塔 类似 的情节 我想我已经很接近了 我知道有诸如plotrix之类的功能金字塔图 https www rdocumentation org packages plotrix versions 3 6 6 to
  • 使用 ggplot2 表示散点图中每个点的小饼图

    我想创建一个散点图 其中每个点都是一个小饼图 例如考虑以下数据 foo lt data frame X runif 30 Y runif 30 A runif 30 B runif 30 C runif 30 下面的代码将绘制一个散点图 代
  • 对条形图上方的值进行注释(ggplot 分面)

    我最喜欢的基本图形技巧之一是 Bill Dunlap 的拾音器 能够将数值 或任何值 放置在条形图中的条形上方 我偶尔不使用它 但喜欢它 mtcars2 lt mtcars order mtcars mpg par cex lab 1 ce
  • 删除 ggplot 地图/choropleth 中的边框线

    我想删除 ggplot 中生成的等值线区域之间的线 我的问题是由一张非常大的地图引起的 其中包含非常非常小的区域 人口普查区块组 这些区域数量如此之多 以至于鉴于边界的密度 不可能看到填充形状的颜色 我在 Mac 上使用更新后的 RStud
  • R ggplot2:stat_count() 不得与条形图中的 y 美学错误一起使用

    我在绘制条形图时遇到此错误 并且无法摆脱它 我已经尝试了 qplot 和 ggplot 但仍然出现相同的错误 以下是我的代码 library dplyr library ggplot2 Investigate data further to
  • ggplot 中的 Geom_area 顺序

    我的样本队列数据在绘制时未进行颜色编码或按正确的时间顺序显示ggplot 以下代码用于生成绘图 library ggplot2 blues lt colorRampPalette c lightblue darkblue p lt ggpl
  • R/ggplot2:在执行 ylim 上限的同时平滑整个数据集

    更新 我找到了答案 包含在下面 我有一个包含以下变量和类似值的数据集 COBSDATE CITY RESPONSE TIME 2011 11 23 A 1 1 2011 11 23 A 1 5 2011 11 23 A 1 2 2011 1
  • 散点图的连续分位数

    我有一个数据集 我为其绘制了回归图 使用ggplot2 s stat smooth ggplot data mydf aes x time y pdm geom point stat smooth col red 我还想使用相同的方法获得分
  • 如何使用 grid.arrange 排列绘图的变量列表?

    library ggplot2 df lt data frame x 1 10 y rnorm 10 p1 lt ggplot df aes x y geom point plist lt list p1 p1 p1 p1 p1 In my
  • 修改多面图中的图例,ggplot2

    对于此图 我想将图例分成 2 个单独的图例 一种将脉冲湿地显示为圆形 其阴影对应于湿地编号 另一种将静态湿地显示为三角形 其灰色阴影对应于湿地编号 那么水文学传说就不再必要了 我想摆脱它 这就是我想要的图例的样子 当然要小一些 这是在 Po
  • R - 绘图标签文本的文本格式 - 删除线

    如何使绘图标签中的标签文本的一部分带有删除线 例如 要使 y 轴标签读取为 标签中的 strikethrough 文本 ggplot mpg aes x displ y hwy geom point ylab strikethrough t
  • 如何使ggplot2图形与R中的黑白打印(复印友好)兼容?

    有没有办法转换ggplot2绘制成黑白版本而不重写大部分代码 以便黑白版本保持可读性 例如 要替换scale fill gradient with scale fill grey 或者自动进行适合复印的转换 如网站http colorbre
  • 为 ggplot 定义新的尺度轴变换

    我正在尝试创建一个squared使用 y 轴变换scales trans new但遇到错误 MWE data data frame x 1 10 y runif 10 z rnorm 10 10 library ggplot2 ggplot

随机推荐

  • 来此加密增加对zerossl和buypass免费证书支持

    众所周知 xff0c 现在网站基本上都要开启HTTPS的访问 而目前提供免费的证书平台也越来越多 xff0c 其中Let 39 s Encrypt最为知名 xff0c 其提供了泛域名和多域名的证书申请 xff0c 给广大站长和企业节省了一大
  • buypass:可全民使用的免费六个月SSL证书

    一 缘起 自从Let 39 s Encrypt出圈以来 xff0c 由于其免费的特质深得大家的喜爱 随着大家广泛地使用 xff0c 对他的不满意也随之而来 一般来看不满意的有以下两点 xff1a 1 证书有效期比较短 2 域名数量限制 3
  • 关于Linux命令行环境下无线网卡的配置

    无线网卡的一种配置方法 xff0c 通过wpa supplicant并依据SSID及口令生成相关配置文件 xff0c 然后讲配置文件挂接进网卡的的配置即可 xff08 树莓派中也使用这种方法 xff09 当然也可以直接在interface无
  • 申请永久免费的域名SSL证书的方法

    现在主流都在推荐使用SSL证书 xff0c 部署了SSL证书能自动激活浏览器显示 锁 型标志 xff0c 我们可以在浏览器的地址栏看到 https 开头的网址 SSL证书意味着在客户端浏览器和Web服务器之间已建立起一条SSL安全加密通道
  • 免费域名证书最新申请方式大全

    目前市场环境下 xff0c 可获得域名SSL证书的方式有很多 xff0c 一般有付费和免费划分 对于想免费使用域名SSL证书的朋友 xff0c 这里收集整理了几个常用的SSL证书申请方式 对于SSL证书的用处 xff0c 简单的来说 xff
  • Let's Encrypt 在线证书申请:来此加密

    Let s Encrypt是国外一个公共的免费SSL项目 xff0c 由 Linux 基金会托管 xff0c 它的来头不小 xff0c 由Mozilla 思科 Akamai IdenTrust和EFF等组织发起 xff0c 目的就是向网站自
  • Setup Kubernetes on a Raspberry Pi Cluster easily the official way!

    转自 http blog hypriot com post setup kubernetes raspberry pi cluster Kubernetes shares the pole position with Docker in t
  • R语言网络分析1:BioC的graph图系

    BioC项目中 xff0c 网络图的处理通过不同的软件包进行 xff1a graph xff1a 图实现方法 类定义 xff08 graphNEL graphAM和graphBAM xff09 和基本函数RBGL xff1a 针对BioC
  • Doom-Emacs安装和基本使用方法

    1 Doom Emacs用前须知 Doom Emacs xff08 下面称为Doom xff09 是Emacs的一个比较复杂的配置包 xff0c 主要目的是使Emacs拥有Vim的出色编辑能力 xff0c 同时让新手配置起来相对容易些 但后
  • R语言网络分析2:graph函数和应用

    产生网络 自定义 BioC 中用得最多的网络类型可能是 graphNEL 类 使用 graphNEL 类的同名函数可以产生自定义网络 xff1a library graph str graphNEL gt function nodes 61
  • RAID扩容步骤

    以下为Debian系统的操作记录 xff0c DELL T630服务器 xff0c RAID5 xff0c 原有3块8T盘 xff0c 添加了2块8T新盘 xff0c 没有发生什么意外 1 添加硬盘 为保险起见 xff0c 关机后安装硬盘
  • R语言时间处理函数

    1 POSIXct和POSIXlt 把表示时间的字符串转成时间类型数据 xff0c 在R语言里面有两个基本的函数 xff1a as POSIXlt 和 as POSIXct 两者都是S3泛型函数 xff0c 根据参数的数据类型选择不同的转换
  • 时间序列分析:ts/mts基础数据类型

    时间序列是以时间为索引的数据 时间索引为等间距递增的时间序列称为规则时间序列 xff0c 其他为不规则时间序列 由于R语言核心组件的构建坚持以通用性为原则 xff0c 因此R的基础包中只定义了规则时间序列 xff0c 而不规则时间序列的定义
  • nginx+php+unoconv 失败?

    原因 xff1a web服务运行用户对自己的home目录没有写入权限 如果网站目录是通过fstab直接bind到 var www的 xff0c 要特别注意检查bind以后 var www目录的权限 xff08 服务器使用unoconv占用C
  • Emacs键盘练习方法

    Emacs里面什么都有 xff0c 比如俄罗斯方块游戏 xff08 tetris xff09 我要说的是 xff0c Emacs里的tetris这不只是个游戏 xff0c 它还是练习键盘的终极武器 玩这个游戏最常用的三个按键是左 右和上箭头
  • Qt中的各种编译器

    1 uic xff1a UI编译器 xff0c 将 ui文件转化为ui h文件 2 rcc xff1a 资源编译器 xff0c 将 qrc文件转换成qrc h文件 3 moc xff1a 元对象编译器 xff0c 将含有Q OBJECT的头
  • Bioconductor软件安装与升级

    本文已于2019 07 12按新版Bioconductor安装包BiocManager出现的问题进行更新 1 修改安装软件源 BioConductor安装需要下载很多文件 xff0c 如果不修改 xff0c 程序很可能是从国外网址下载 xf
  • 使用oligo软件包处理芯片数据

    本博客介绍过 Affy芯片的处理方法 xff0c 其中所使用的软件包有一定的局限性 xff0c 无法读取和分析一些新版Affy芯片 本文介绍oligo软件包的处理方法以解决这些问题 oligo软件包并不是新出现的软件包 xff0c 只因新类
  • R语言中的引号

    1 单引号和双引号 两者都可以用于表示字符串分隔 xff0c 用法和意义没有差别如果字符串包含有分隔符本身 xff0c 字符串内的分隔符引号需要转义 xff08 使用反斜杠 xff09 R语言字符串的打印 显示都是用双引号的形式表示 xff
  • ggplot2柱形图Y轴坐标扩展的简单方法

    ggplot2的坐标轴主要由映射aes确定 xff0c expand limits和coord cartesian虽然可以调整坐标轴刻度 xff0c 但对柱形图不大适用 不少使用者对扩展柱形图Y轴坐标很烦恼 xff0c 有人从源代码层面对开