如何dotchart
在 ggplot2 中绘制一个像格子一样的点图,它有更粗的网格线和只有水平网格线(即删除垂直网格线),有点像这样:
除了使水平线更粗,以便它们更明显。
有没有办法在 ggplot2 中做到这一点?
一些可以使用的示例数据。
df<-data.frame(nam=rep(c("A","B","C","D","E"),times=3),
val=runif(15,0,1),type=rep(c("TypA","TypB","TypC"),each=5))
df<-rbind(df,df,df)
df$num.lev<-rep(c(10,20,30),each=15)
改变网格线的外观,panel.grid.major
可以panel.grid.minor
在里面使用theme()
。有了panel.margin=
您,您就可以实现所有方面都被紧密地绘制在一起。
library(ggplot2)
library(grid)
ggplot(df,aes(val,nam))+geom_point(size=3,colour="blue")+facet_grid(num.lev~type)+
scale_x_continuous(breaks=c(0,0.2,0.4,0.6,0.8))+
theme(panel.margin=unit(0,"cm"),
panel.border=element_rect(colour="black",fill=NA,size=1.2),
strip.background=element_rect(colour="black",size=1.2),
panel.grid.major.x=element_blank(),
panel.grid.minor.x=element_blank(),
panel.grid.major.y=element_line(size=1.5,colour="grey88"),
panel.background=element_rect(fill="white"))