首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

4种方法实现ggplot2的aes()中的变量替换

介绍 ggplot2里aes()可以用tidyselect风格去选择变量做映射绘图,那么这种情况下如何实现「变量替换」呢? 首先说下我为什么要实现「变量替换」。...我目前实际的需求就是,分析代码+绘图代码篇幅太长,在封装流程的时候我想要把变量提到前面,通过替换一个变量来避免后面多次修改替换变量。 方法与演示 有!!as.name()、get()、!!...sym()和.data[[]] 共计四种有效方法在aes()中实现变量替换。...代码演示如下: library(ggplot2) # 创建一个包含变量的数据框 data <- data.frame( x = c(1, 2, 3, 4), y = c(10, 20, 30,...40), group = c("A", "A", "B", "B") ) # 定义一个变量,用于替换图形属性 color_var <- "group" # 使用变量替换创建散点图 ggplot

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

    ggplot2中ylim的坑

    ​在ggplot2中很容易出现一个修改坐标轴范围的问题,喜欢用ggplot2画图的需要注意一下。...ylim和coord_cartesian都是调整坐标轴范围,但是它们的结果是有可能不一样的,看下面的一个例子: data(diamonds) p ggplot(data = diamonds, aes...(x = cut, y = table, color = cut)) + geom_boxplot() p # 截取 p + ylim(c(0,60)) 第二行原图: ?...image 截取0到60的部分: ? image 可以看到第二张图跟原图是不一样的,比如Fair的第一个box原数据最高是超过60的,但是截取之后不到60了。这是一个不太容易注意到的坑。...这里是因为ylim是直接处理的数据导致的,比如例子中不在范围的数据就直接被移除。同等操作应该用coord_cartesian来实现。

    1.2K20

    ggplot Stripchart and line

    p4 geom_line(aes(linetype = supp)) + geom_point(aes(shape = supp)) # 更改线的颜色和线的类型 p5 geom_line(aes(linetype = supp, color = supp)) + geom_point(aes(shape = supp, color = supp)) + scale_color_manual...# 上述的图形x变量均为离散变量,在实际的科研中,更多的是连续变量 #将x转换为连续变量 p_lianxu <- function(df3) { df3$dose 的宽度 # 这里使用的是为工作的和总人口的比例 # 因此出来的图为宽度不同的线 economics %>% ggplot(aes(x = date, y = pop)) + geom_line...结束语 对于dot、scatter、stripchart,这三个图,有啥区别,我也看不懂,也没有相关的资料,后续用到再说吧 tip:多用管道符,可以节省很多代码的编写,同时函数的使用能够使代码看起来更加有结构感

    1.2K30

    了解绘制条形图和折线图的细节

    在代码中添加geom_point()可以实现 ggplot(BOD,aes(x=Time,y=demand))+ geom_line()+ ylim(0,max(BOD$demand)) #这里也以世界人口为例子进行画图...=supp))+ geom_line() ##如果x变量是因子,那么必须同时告诉ggplot用来分组的变量 #在本例中,也可以把dose算作因子型向量(0.5,1,2) ggplot(tg,aes(...#另一种情况是,折线变成锯齿状 ggplot(tg,aes(x=dose,y=length))+ geom_line() #如果任意离散变量映射到colour或者linetype等属性,ggplot...应将上述参数的值传给geom_line()函数,设置相关属性 #基础绘图 ggplot(BOD,aes(x=Time,y=demand))+ geom_line(linetype='dashed',...size=1,colour='blue') #变量映射到图形属性上会有不同的外观,为了使图形更加鲜艳可以使用scale_colour_brewer()或者scale_color_manual()改变 ggplot

    7.1K10

    ggplot2优雅的绘制配对气泡图

    可视化绘图 p1 = ggplot(pan.meta, aes(x = Group,y = Expression,fill = Group)) + geom_line(aes(group=paired...(pan.meta, aes(x = Group, y = Expression)) + geom_line(aes(group=paired),position = position_dodge...ggplot2功底也不是很好,没有很系统的去钻研ggplot2的语法和结构。...因为我认为我只要会修改别人的ggplot2绘图代码,然后把自己想要绘制的各种元素,能转化为语言去进行网络搜索,这样想绘制的图,基于上都可以根据百度谷歌和工具书去实现。...绘图当然很重要,但是科研节奏这么紧张,ggplot2的学习到底应该投入多少时间(当然也看悟性),这点见仁见智。最后给大家分享一本我经常翻阅的ggplot2工具书 - END -

    47640

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

    今天跟大家分享ggplot图表系统中形状。 在ggplot函数系统中,形状是一类重要的映射属性,如同颜色一样,它可以被赋予给变量,当然也可以直接指定实际的形状类别。...因为形状属于分类性质的映射属性,所以形状不可以被指定给连续性变量: ggplot(mydata,aes(Company,Sale,group=Year))+geom_line()+geom_point(...基于以上叙述,这里我想总结两点: 一、关于属性映射的问题(形状、大小、颜色、线条) 形状属性只能通过连续型变量进行映射; 大小属性同时可以指定给连续性变量、离散型变量(软件并不建议)。...如果属性是指定给数据集中的变量(无论是连续性还是离散型)的话,那么一定要包含在美学属性之内(aes()):因为只有包含在aes()中,软件才能通过在数据集中调用对应变量进行映射。...作用于单个图层的映射属性要放在对应图层中,(比如作用于线条的属性要放在geom_line()内,作用于形状的属性要放在geom_point()内),作用于全局的属性要放在全局系统函数层内【ggplot(

    2.4K100

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

    今天跟大家分享的是ggplot图表中的一类重要元素——线条。...R语言中ggplot函数系统中涉及到线条的地方有很多,最常见的场景就是我们做geom_line()(折线图)、geom_path()(路径图),以及图表的绘图区(panel)、图表区、网格系统(grid...今天以一个折线图为例,简要说明ggplot函数中关于线条的主要参数及其效果。...6000,4800,4500,3500,4300)) mydata<-melt(data,id.vars=c("Name","Company"),variable.name="Year",value.name="Sale") 我先用一个简单的折线图代码跑出来一个折线图...除了折线图(以及路径图,等图层中的线条之外),在theme系统中存在大量的关于线条的属性设置(网格系统、图表边框、轴线、图例系统),均可以参照以上参数进行设置。

    2.5K60

    数据处理神器tidyverse(2)ggplot2

    几何对象的形式由geom_xxx()函数定义,基于数据变量的几何对象的属性(位置,大小,颜色)由美学(aes())函数指定( 在geom_xxx()函数中)。...ggplot(gapminder) gapminder %>% filter(year == 2007) %>% ggplot() 这样输出的是空白图片 添加geom图层 接下来,我将向...使用+将图层添加到ggplot对象中。可能最常见的geom层是geom_point。 在geom_point()里面,您将指定从变量到所需几何对象的美学映射。...要修复此图,您需要通过在geom_line()图层的aes()函数中指定group = continent参数来指定行如何组合在一起(即哪个变量定义各行)。...但是,如果您想使用数据框中的变量来定义geoms的颜色(或任何其他美学特征),需要将它包含在aes()函数中。

    2.2K30
    领券