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点扰动
前四种排列方式分别如下图:
条形含义。
#默认对class分类变量计数
ggplot(mpg,aes(class))+geom_bar()
#展示另一个变量的计数
ggplot(mpg,aes(class))+geom_bar(aes(weight=displ))+
ylab("count on displ")
自定义条图颜色。
p <- ggplot(dsmall,aes(x=color,fill=cut))
p+geom_bar(position = 'dodge')+scale_fill_brewer(type = 'qual')
scale_fill_brewer
标度函数:
sale_fill_brewer(...,
type='seq',
palette=1, #色系
direction=1) #取色方向
type的三种类型与RColorRrewer包中调色板函数一致:seq连续型、div极端型、qual离散型。
scale_fill_brewer
与scale_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')
geom_pointrange示例。
pp <- ggplot(dff,aes(group,mean_value))
pp+geom_pointrange(aes(ymin=lower,ymax=upper),
color='red',size=1.5,
fatten = 4) #点的大小
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)
原文地址:https://www.cnblogs.com/jessepeng/p/12307702.html
时间: 2024-11-05 21:40:12