R语言与医学统计图形-【12】ggplot2几何对象之条图

大史哥哥 2020-02-14

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点扰动

前四种排列方式分别如下图:
R语言与医学统计图形-【12】ggplot2几何对象之条图

条形含义。

#默认对class分类变量计数
ggplot(mpg,aes(class))+geom_bar()

#展示另一个变量的计数
ggplot(mpg,aes(class))+geom_bar(aes(weight=displ))+
  ylab("count on displ")

R语言与医学统计图形-【12】ggplot2几何对象之条图

自定义条图颜色。

p <- ggplot(dsmall,aes(x=color,fill=cut))
p+geom_bar(position = 'dodge')+scale_fill_brewer(type = 'qual')

R语言与医学统计图形-【12】ggplot2几何对象之条图
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')

R语言与医学统计图形-【12】ggplot2几何对象之条图

geom_pointrange示例。

pp <- ggplot(dff,aes(group,mean_value))
pp+geom_pointrange(aes(ymin=lower,ymax=upper),
                   color='red',size=1.5,
                   fatten = 4) #点的大小

R语言与医学统计图形-【12】ggplot2几何对象之条图

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几何对象之条图

相关推荐