我想在使用ggplot2生成的绘图的分类数据中添加次要网格线。例如,
library("ggplot2")
data<-data.frame(xcategory=rep(c("a","b","c"),each=30), yvalue=c(1,3,6))
ggplot(data,aes(x=xcategory,y=yvalue,alpha=1.0,size=5))+
geom_point(position=position_jitter(width=0.1,height=0.0))+
theme_bw()+
scale_x_discrete(name="Categorical Data") +
scale_y_continuous(name="Continuous Response",limits=c(0,7)) +
theme(axis.text.x=element_text(angle = 90),legend.position="none")
生成以下图表:
但我想要的是分类网格线绑定类别名称,以便我可以抖动网格线中的所有数据。以下是我用红色编辑的油漆示例:
界定“b”的红线可能就是我需要的所有东西,我只想说明三根相等宽度的列。
非常感谢帮助或指导我错过的类似问题。我尝试通过“主题”添加网格信息但没有成功。
答案 0 :(得分:6)
您可以使用geom_vline()
添加线条进行绘图,并使用0.5,1.5等数字来设置位置。数字是从0.5开始的向量,经过1到“类别数”+0.5。这些行将在类别名称之间。
ggplot(data,aes(x=xcategory,y=yvalue,alpha=1.0,size=5))+
geom_vline(xintercept=c(0.5,1.5,2.5,3.5),color="red")+
geom_point(position=position_jitter(width=0.1,height=0.0))+
theme_bw()+
scale_x_discrete(name="Categorical Data") +
scale_y_continuous(name="Continuous Response",limits=c(0,7)) +
theme(axis.text.x=element_text(angle = 90),legend.position="none")