此文内容来自微信公众号:R语言搬运工,关注公众号浏览更多精彩内容
如何在ggplot2中绘制柱形图,实际中根据数据形式需要添加误差棒,这也是在科研绘图中经常遇到的,比如根据数据平均值绘制的柱形图往往要求添加误差棒。
误差棒的添加首先要计算每个分组下的误差值,然后添加。
还是以小编近三周的生活消费数据为例子(炫穷开始)
数据中,money变量为一天的总消费,Lunch为午餐消费
先编写个代码计算每一周的总消费和午餐消费的平均值与误差值,这里需要说明,误差值为计算的标准误,而不是标准差,两者具体的差异可以去网上查阅一下。
mystats <- function(x,no.omit=FALSE){
if(no.omit)
x <- x[!is.na(x)]
mean <- mean(x)
n <- length(x)
se <- sd(x/sqrt(n))
return(c(n=n,mean=mean,se=se))
}
使用默认的主题风格绘制的散点图如下:
从图来看,所绘制的散点图并不是十分的美观,这是因为代码中并没有对图进行美化。ggplot2作为强大的绘图包,封装了大量的参数用来修改图的元素,包括背景、轴线、比例、图例等,这里对常用的几个参数进行简单介绍。参数size可以用来定义图中点的大小,shape用来修改点的性状,如下图为增加了点的大小并将点的性状设置为中空圈。
library(ggplot2)
data(mtcars)
ggplot(mtcars, aes(wt, mpg))+
geom_point(size=6,shape=1)
为方便查阅不同点性状对应的参数,书籍中整理了该内容,需要的可以对应点的性状自己设置,需要注意的是第21-25号为具有填充色的符号,如若修改点的边界色和填充色,可以在函数geom_point()中设置点的性状shape=21,然后通过color和fill两个函数分别进行设置。
当数据中含有分类变量的时候,我们可能更希望不同的分类使用不同的点颜色和形状,这也可以方便的实现,使用mtcars数据集作为示例,其中,cyl变量作为分类变量。
library(ggplot2)
data(mtcars)
mtcars2 <- mtcars
mtcars2$gear <- as.factor(mtcars2$gear)
ggplot(mtcars2, aes(wt, mpg,fill=gear))+
geom_point(size=6,shape=21)
代码中将mtcars数据集中的gear变量定义为分类变量,用来对点的颜色进行设置,需要注意:文中是将点的形状设置为21号进行定义的。如果未将gear进行分类变量定义,绘制的图中点的颜色为映射的连续性,如下图所示:
除以上参数设置外,点的透明度等参数也可以设置,具体的可以通过R语言中的help进行查看。
散点图是相对简单且基础绘图,可以在R里面摸索一下设置参数,在科研绘图中可以方便的使用。此外,可以学者还需要修改图的其他元素,比如背景、线条、轴名等,这些将在以后的theme主体中进行详细介绍。
写在文末:
文章首发于公众号:R语言搬运工
关注带来更多精彩