ggplot2绘图系统——几何对象之线图
- 曲线:点连线、路径曲线、时间序列曲线、模型拟合曲线......
- 直线:水平直线、垂直直线、斜线。
1.曲线
对象及其参数。
#路径图
geom_path(mapping = ,
data = ,
stat = 'identity',
position = 'identity',
lineend = 'butt', #线段两端样式,round/square
linejoin = 'round', #线段交叉样式,mitre/bevel
linemitre = 1,
arrow = ,
na.rm = FALSE,
show.legend = NA,
inherit.aes = TRUE)
geom_line(mapping = ,
data = ,
stat = 'identity',
position = 'identity',
na.rm = F,
show.legend = NA,
inherit.aes = T)
示例时间序列曲线。
ggplot(economics,aes(date,unemploy))+
geom_line(color='red')
点连线
需要依靠图层叠加。先画点和先画线有细微的区别,即重叠的部分后一个会覆盖前一个。
df <- data.frame(x=c(1:10),y=sample(10:30,10))
ggplot(df,aes(x,y,))+geom_point(color='blue')+geom_line(color='red')
ggplot(df,aes(x,y,))+geom_line(color='red')+geom_point(color='blue')
线条颜色
dff <- data.frame(x=c(1:10),y=c(1:10))
#连续型线条颜色映射,意义不大
ggplot(dff,aes(x,y,color=x))+
geom_line(linetype=1)+
geom_point(color='blue')
#离散型线条颜色映射
ggplot(economics_long,aes(date,value01))+
geom_line(aes(linetype=variable,color=variable))
2.平滑曲线
参数:
geom_smooth(mapping = ,
data = ,
stat = 'smooth',
position = 'identity',
method = 'auto', #曲线生成方法
formula = y~x,
se=TRUE, #是否显示95%可信区间
na.rm = F,
span=, #曲线平滑程度0-1,越小越平滑
show.legend = NA,
inherit.aes = T
)
method备选: lm/glm/gam/loess/rlm 。一般样本量少于1000时,默认loess(样条回归);样本量大于1000时,默认gam(广义加性模型)。
formula备选:y~log(x) ,或多项式回归y~ploy(x,2)
a=ggplot(mpg,aes(displ,hwy))+
geom_point()+geom_smooth(span=0.2)
b=ggplot(mpg,aes(displ,hwy))+
geom_point()+geom_smooth(span=0.8)
c=ggplot(mpg,aes(displ,hwy))+
geom_point()+geom_smooth(method='lm',color='red')#线性回归
library(gridExtra) #图形组合
gridExtra::grid.arrange(a,b,c,ncol=3)
置信区间
有专门的几何对象geom_ribbon,即色带图。
mydata <- data.frame(time=seq(2000,2016,1),
m_value=rnorm(17,20,5),
sd_value=runif(17,1,3))
ggplot(mydata,aes(time,m_value))+
#均值曲线
geom_line(color='deeppink4',size=1)+
#95%置信区间上限
geom_line(aes(time,m_value+1.96*sd_value),color='black',linetype=2)+
#95%置信区间下限
geom_line(aes(time,m_value-1.96*sd_value),color='black',linetype=2)+
#在两条置信曲线间添加阴影。
geom_ribbon(aes(time,ymin=m_value-1.96*sd_value,ymax=m_value+1.96*sd_value),
fill='light green',alpha=0.3)
3.直线绘制
函数及其主要参数。
#斜线
geom_abline(...,slope, intercept...) #斜率,截距
#水平直线
geom_hline(..., yintercept...)
#垂直直线
geom_vline(..., xintercept...)
示例。
ggplot(mpg,aes(displ,hwy))+geom_point()+
geom_hline(yintercept = c(15,25,35),linetype=2,color='red')+
geom_vline(xintercept = c(3,4.5,6),linetype=2,color='red')+
geom_abline(slope = 6,intercept = 5,color='blue')
|
请发表评论