我在這裏做錯了什麼? 我正在嘗試用透明灰色替換24小時日常矩形。但是隻有for-loop的最後一個矩形被繪製(?!?)如果我手動執行而不是通過for-loop,它可以正常工作。ggplot2:如何在陰謀中透明地遮陰備用日子
有沒有一種方法可以將矢量化以避免for-loop? (可以用qplot完成嗎?) 我是ggplot2的新手,是的,我通過Hadley的網站,書籍和例子閱讀。
第二個問題:審美上的alpha設置不能防止矩形遮擋背景。如何獲得透明度?
dat <- data.frame(my_x_series=1:192, my_y_series=5.0*runif(192))
# (ymin, ymax are computed for this series using min/max(na.rm==TRUE))
ymax <- 5.0
ymin <- 0.0
p <- ggplot(dat, aes(x=my_x_series,alpha=0.9))
alternate_daily_bars_xmin <- c(4,52,100,148)
for (shade_xmin in alternate_daily_bars_xmin) {
shade_xmax <- min(shade_xmin+24, 192) # clamp at end of x-range
p <- p + geom_rect(aes(alpha=0.5,xmin=shade_xmin,xmax=shade_xmax,ymin=ymin,ymax=ymax), fill='gray80')
}
p <- p + geom_point(aes(y=my_y_series))
p
加入* DAT *爲重複性隨機定義。這是擊敗我的命令語法。我想每個geom_rect都會覆蓋最後一個,而不是像您期望的那樣進行合成。 – smci