首页
学习
活动
专区
圈层
工具
发布

R语言ggplot2作图离散变量更改坐标轴范围

首先是示例数据 image.png 使用R语言的ggplot2做一个热图 #install.packages("see") df<-read.csv("20210809_example.csv") library...() image.png 增加y轴的上下空白 ggplot(data=df,aes(x=gene_name,y=variable))+ geom_tile(aes(fill=value))+...(expand=expansion(mult=c(1,0))) image.png 如果是要更改x轴左右的间距把scale_y_discrete()换成scale_x_discrete()就可以了...这个有啥用,其中一个用途是画环状热图的时候可以增加中间的空白区域 比如默认环状热图 ggplot(data=df,aes(x=gene_name,y=variable))+ geom_tile(aes...(mult=c(0,0.2))) image.png 欢迎大家关注我的公众号 小明的数据分析笔记本 小明的数据分析笔记本 公众号 主要分享:1、R语言和python做数据分析和数据可视化的简单小例子

3.2K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何随意截断ggplot2图像的y轴?

    gg.gap诞生记 “站长,小站工具qPCR在线分析功能非常好,但有些基因的表达量太高了,图做出来值非常大,能否想prism那样把y轴做个截断呢?”...面对的疑问,站长最开始并没有想到去开发一个R包解决。 ggplot2以及依赖它开发的包已经丰富,原以为在网络搜索一下肯定有解决方案,但谁曾想这样的需求真的没有找到完美的解决方案。...不管三七二一,画个草图先: 思路很简单,就是先按照y轴切,然后用cowplot去拼接。...一顿野路子代码操作,beta版出来了:gg1gap和gg2gap这两个包只能完成bar图y轴切割,而截断数最多也就只能两段。...小站VIP群中的树神(微信ID:一棵树)精通R包制作,为了让野路子出来的代码更完善,拉上树神一起干,不仅实现截取多个截断,还可以对任意ggplot2对象进行截断,再不断测试修补bug之后,gg.gap终于在今天这个有意义的日子正式上线

    2.1K20

    R tips: 箭头风格的ggplot坐标轴

    本文尝试通过灵活运用ggplot的segment图层,配合scale、theme的格式调整,实现比theme的axis.*参数更加自由的坐标轴风格调整。...主要目标是把ggplot的坐标轴改为箭头风格。...以iris数据集为例,classic主题的点图风格为: library(tidyverse) p <- iris %>% ggplot(aes(x =Sepal.Length, y =Sepal.Width...axis.line.x用于关闭原来的x坐标轴,同理axis.line.y可以关闭y坐标轴,或者axis.line可以把x y坐标轴全部关闭。 annotate函数添加一个segment图层。...labe有所重叠,可以考虑不显示; 下面逐个解决他们: 之所以没有显示完全是因为ggplot默认是会把不同绘图元素划定显示范围,超出他们的显示范围就会截断超出的元素。

    11710

    小站R包gg.gap正式上线CRAN|随意截断ggplot2图像的y轴~

    gg.gap诞生记 “站长,小站工具qPCR在线分析功能非常好,但有些基因的表达量太高了,图做出来值非常大,能否想prism那样把y轴做个截断呢?”...面对的疑问,站长最开始并没有想到去开发一个R包解决。 ggplot2以及依赖它开发的包已经丰富,原以为在网络搜索一下肯定有解决方案,但谁曾想这样的需求真的没有找到完美的解决方案。...不管三七二一,画个草图先: 思路很简单,就是先按照y轴切,然后用cowplot去拼接。...一顿野路子代码操作,beta版出来了:gg1gap和gg2gap这两个包只能完成bar图y轴切割,而截断数最多也就只能两段。...小站VIP群中的树神(微信ID:一棵树)精通R包制作,为了让野路子出来的代码更完善,拉上树神一起干,不仅实现截取多个截断,还可以对任意ggplot2对象进行截断,再不断测试修补bug之后,gg.gap终于在今天这个有意义的日子正式上线

    1.1K20

    为什么 ggplot2 不支持两个 y 轴?

    稍微对ggplot2有所了解的小伙伴都知道,ggplot2中是无法同一张图中画出两个y轴的,也即,下面这张图用“正常”的ggplot是画不出来的(大猫会在最后给出一个奇技淫巧的实现办法): ?...为什么强大的ggplot2无法做到这种看似简单的任务呢?毕竟在几乎所有其他的统计软件中,两个y轴都很好的支持。例如SAS中,不仅可以画两个y轴,通过offset参数,这两个轴还可以拥有不同的起始高度!...Hadley 说的似乎很有道理,并且得到了题主的认可!我们可以看看最终题主接受的这个答案是怎么样的: 有时候客户想要两个y轴,但是这样做只会让他们的论证变得千疮百孔。...你说的大多数我都同意,但是确实有种情况必须要同时用到两个y轴:当一个变量拥有两个metric的时候。例如对于温度,我想同时显示摄氏和华氏。”...Hadley 严重误解了 API 的设计原则,即任何 API 都应该是可选的。也就是说,我认为,能够同时画两个y轴是非常有用的功能。” ?

    1.1K40

    R语言ggplot2作图的时候给坐标轴添加文本π

    image.png 今天用ggplot2作图y轴的标题想实现上图红框里的形式,查了一下如何实现 记录一下代码 首先是构造一份数据集 dfy=1) R语言ggplot2...散点图并添加文本 library(extrafont) fonts() library(ggplot2) ggplot(data=df,aes(x=x,y=y))+ geom_text(label=...(data=df,aes(x=x,y=y))+ geom_text(label="\u03c0",size=30, family="Times New Roman",...-axis-labels-ionic-chemical 欢迎大家关注我的公众号 小明的数据分析笔记本 小明的数据分析笔记本 公众号 主要分享:1、R语言和python做数据分析和数据可视化的简单小例子;...2、园艺植物相关转录组学、基因组学、群体遗传学文献阅读笔记;3、生物信息学入门学习资料及自己的学习笔记!

    1.7K30

    ggplot2扩展包gg.gap,截取x轴用facet(),截取y轴交给gg.gap

    gg.gap诞生记 “站长,小站工具qPCR在线分析功能非常好,但有些基因的表达量太高了,图做出来值非常大,能否想prism那样把y轴做个截断呢?”...面对的疑问,站长最开始并没有想到去开发一个R包解决。 ggplot2以及依赖它开发的包已经丰富,原以为在网络搜索一下肯定有解决方案,但谁曾想这样的需求真的没有找到完美的解决方案。...不管三七二一,画个草图先: 思路很简单,就是先按照y轴切,然后用cowplot去拼接。...一顿野路子代码操作,beta版出来了:gg1gap和gg2gap这两个包只能完成bar图y轴切割,而截断数最多也就只能两段。...小站VIP群中的树神(微信ID:一棵树)精通R包制作,为了让野路子出来的代码更完善,拉上树神一起干,不仅实现截取多个截断,还可以对任意ggplot2对象进行截断,再不断测试修补bug之后,gg.gap终于在今天这个有意义的日子正式上线

    1.7K10

    R tips:调整ggplot2的坐标轴或legend的label长度

    对y轴标题进行操作,则使用scale_y系列函数,由于y是离散变量,因此使用scale_y_discrete函数,相应的如果y轴是连续变量,比如此时的x轴,就使用scale_x_continuous函数调整...有的时候,ggplot2图是经过坐标轴变换的,如使用coord_flip进行x、y轴反转。此时竖直的坐标轴实际上是x轴,需要使用scale_x系列函数控制。...,有些时候过长的labels是出现在legend中,而且str_wrap只在有空格的地方才会折叠,那么一个很长的没有空格的字符串需要如何处理才能折叠?...首先在legend中也是同样的处理,只不过根据此legend映射的美学不同而选择不同scale函数:如scale_color、scale_fill、scale_size等等。..."setosa")) %>% ggplot(aes(x = Sepal.Length, y = Petal.Length, color = Species)) + geom_point() +

    7.2K41

    「R」ggplot2在R包开发中的使用

    尤其是在R包中编程改变了从ggplot2引用函数的方式,以及在aes()和vars()中使用ggplot2的非标准求值的方式。...引用ggplot2函数 与引用其他包类似,你需要在DESCRIPTION文件下的Imports条目下列出ggplot2,并使用::访问ggplot2提供的函数。...常规任务最佳实践 使用ggplot2可视化一个对象 ggplot2在包中通常用于可视化对象(例如,在一个plot()-风格的函数中)。.../ 234, "r" = 25 / 234 ), class = "discrete_distr" ) R中需要的类都有plot()方法,但想要依赖一个单一的plot()为你的每个用户都提供他们所需要的可视化需求是不现实的...如果没有,则会将主题对象存储在编译后的包的字节码中,而该字节码可能与安装的ggplot2不一致!

    9.4K30

    R语言可视化——ggplot图表中的线条

    今天跟大家分享的是ggplot图表中的一类重要元素——线条。...R语言中ggplot函数系统中涉及到线条的地方有很多,最常见的场景就是我们做geom_line()(折线图)、geom_path()(路径图),以及图表的绘图区(panel)、图表区、网格系统(grid...今天以一个折线图为例,简要说明ggplot函数中关于线条的主要参数及其效果。...当我用以上代码运行的时候,软件报错,提示如上: 图表展示区给出了一个只有坐标系的空白图表; 相信根据英文意思也可以明白怎么回事,因为我们给折线图的X轴映射是一个离散的因子变量,而默认状态下软件会将单条记录都会视作一个分类...以上使用了一个时间序列数据,很顺利的完成了折线图的制作。 那么针对离散变量的折线图到底如何来做呢,我们可以通过group指定分组的形式来达到目的。

    2.9K60

    R语言可视化——ggplot图表系统中的形状

    今天跟大家分享ggplot图表系统中形状。 在ggplot函数系统中,形状是一类重要的映射属性,如同颜色一样,它可以被赋予给变量,当然也可以直接指定实际的形状类别。...ggplot函数的图层理念中,修改局部图层的元素,需要在局部图层内进行设定,这里需要在geom_point()函数内部进行形状设定。 R绘图系统中存储着的形状符号多达25种: ?...颜色变量是所有属性中为数不多的既可以使用离散型变量、又可以使用连续性变量进行映射的属性 二、关于制定属性映射时shape、size、colour(fill)的位置问题。...如果属性是指定给数据集中的变量(无论是连续性还是离散型)的话,那么一定要包含在美学属性之内(aes()):因为只有包含在aes()中,软件才能通过在数据集中调用对应变量进行映射。...(比如本例中同时作用于折线图和散点图的数据集、x轴y轴变量以及分组变量等) 以上是个人学习ggplot函数过程中所获得的一些体会和心得,希望能够帮助大家在学习R语言可视化过程中少走一些弯路,限于个人能力和水平

    2.7K100

    ggplot2双坐标轴的解决方案

    但是最近有好几个小伙伴儿跟我咨询关于ggplot2的次坐标轴问题,平时的一些业务分析中,有些场景出于数据呈现的需要,或者阅读习惯等,往往需要在一幅图中呈现两个量级不等的坐标。...所以我觉得这一篇推送很有必要,确实在最新版的ggplot2(ggplot 2.2.0以上版本)中,已经加入了次坐标轴参数,通过这个次坐标轴的转换,我们可以模拟出不同数量级的次坐标轴效果。...,这里不做过多解释,仅提示其中两处重点,注意第二行geom_line内的y参数赋值以及第四行的scale_y_continuous语句: ggplot() + geom_col( data = data1...因为在ggplot2标度系统中,不容许在一个图形中出现两个量级不等的标度(一山不容二虎),但是想要提供度量不等的次坐标轴,折中的方法就是,将次坐标轴的所有量级按照主坐标轴的量级进行缩放(如果次坐标轴量级大于主坐标轴...y轴度量标准,也就是y轴的刻度线及刻度标签,刻度标签的定义就是本案例的第二个重点,它仍然是通过rescale函数进行了一次度量的重新映射。

    3.9K90

    ggplot2优雅的自定义轴文本颜色

    ❝今天来主要介绍如何在不引入外部几何对象的前提下在图形的原有的基础上「自定义修改轴文本颜色」,也许恰好您正好有此特殊需求,希望对各位观众老爷有所帮助;下面来看具体案例; ❞ 加载R包 library(tidyverse...geom_text」在图形内部添加文本并定义颜色,那如果我们要在图形外部修改轴文本颜色该如何操作,当然有更加简单的方法请往下看 ❞ 构建数据 df % arrange(id) %>...,下面我们就在此基础上修改Y轴文本颜色 统一个数 x_cols <- rep(c("#EDB749","#3CB2EC","#9C8D58","#4A452A"),each=11) p + theme...=x_cols)) 可以看到引入「time」参数控制每一个颜色出现的次数 当然上述操作ggplot2会显示如下警告信息,是不是发现了什么;感觉挺有趣的 ❝Warning message: Vectorized...Results may be unexpected or may change in future versions of ggplot2. ❞

    1.6K10
    领券