在ggplot2中,如何避免geom_rect擴展劇情的界限?
隨着附代碼段,geom_rect
延伸的情節,即,對於2016年的垂直帶,即使沒有數據被包含在該間隔繪製的極限。
我想矩形只有在它們包含數據點時纔會繪製。
我讀了幫助annotate
,它明確地說,annotate
正好有我geom_rect
和我想避免看到的行爲。
詳細
注意,所有的位置美學縮放(即,它們將擴大情節 限度,因此它們是可見的),但所有其他美學 設置。這意味着使用此功能創建的圖層永遠不會影響圖例 。
library(ggplot2)
days<-rep(Sys.Date(),100)+seq(1,100)
v<-sin(as.numeric(days))
df<-data.frame(days=c(days,days),v=c(v,cos(v)+.1),n=c(rep('a',100),rep('b',100)))
shade <- data.frame(x1=c(as.Date('2016-10-15'),as.Date('2017-11-11')),
x2=c(as.Date('2016-10-20'),as.Date('2017-11-13')),
y1=c(-Inf,-Inf), y2=c(Inf,Inf))
plot(ggplot(df, aes(x=days, y=v, colour=n)) +
geom_line() +
geom_rect(data=shade, inherit.aes = F,
aes(xmin=x1, xmax=x2, ymin=y1, ymax=y2),
color = 'grey', alpha=0.2) +
geom_point())
是的,它適合我的情況。 –