R:geom_segment ggplot2中的线条粗细不一致

时间:2016-06-15 20:40:47

标签: r ggplot2 histogram

我正在尝试使用ggplot2在直方图底部的一些线段,覆盖几个线段以指示分布的相关部分。我希望绿色部分的厚度是灰色部分的两倍,但绿色部分似乎总是灰色部分厚度的五倍。这是一些玩具数据和我的ggplot2代码:

library(ggplot2)
x<- as.data.frame(rnorm(1000, mean=50))
colnames(x) <- c("values")

ggplot(x, aes(x=values)) +
geom_histogram (binwidth=1,position="identity", col="black")+
 theme_classic(base_size=18)+
theme(axis.line.x = element_line(colour = "black"),
axis.line.y = element_line(colour = "black"))+
geom_segment(aes(y=-10, yend=-10, col=I("darkgray"), size=.1,x=1, xend=100),show.legend=F)+
geom_segment(aes(y=-10, yend=-10, col=I("palegreen4"), size=.2,x=25,xend=75), show.legend=F)

我的结果: enter image description here

1 个答案:

答案 0 :(得分:11)

ggplot(x, aes(x=values)) +
  geom_histogram(binwidth=1, position="identity", col="black") +
  theme_classic(base_size=18) +
  geom_segment(aes(y=-10, yend=-10,x=1, xend=100), colour = "grey", size=1, show.legend=F) +
  geom_segment(aes(y=-10, yend=-10, x=25,xend=75), colour = "green", size = 2, show.legend=F)

尝试移动size以外的aes()电话。只有随数据变化的变量才需要在aes()内,因此colour也可以出现。我清理了你的theme_axis adjustments,因为我没有注意到对最终情节有明显的影响。