Gần đây tôi đã nâng cấp lên phiên bản R 3.2.3
và cũng với phiên bản ggplot 2.0.0
.Ggplot2 hành vi alpha khác nhau
Cố gắng nâng cấp một số mã cũ lên các phiên bản mới hơn mà tôi gặp phải một hành vi lạ với ggplot2 và cài đặt độ trong suốt của nó.
Bây giờ câu hỏi của tôi là, đây có phải là một lỗi hoặc một tính năng (nếu có, ai đó có thể khai sáng cho tôi biết tại sao nó tốt để có nó theo cách này)? Kết quả tôi muốn có là (rõ ràng) cốt truyện 2.
Nói rằng tôi vẽ một dòng và đặt một hình chữ nhật với tính minh bạch qua nó như thế này:
library(ggplot2)
plot_data <- data.frame(x = 1:100, y = rnorm(100))
# Plot 1
ggplot(data = plot_data, aes(x = x, y = y)) +
geom_line() +
geom_rect(aes(xmin = 20, xmax = 50, ymin = -Inf, ymax = Inf), fill = "red",
alpha = 0.1) + ggtitle("Plot 1")
# Plot 2
ggplot() +
geom_line(data = plot_data, aes(x = x, y = y)) +
geom_rect(aes(xmin = 20, xmax = 50, ymin = -Inf, ymax = Inf), fill = "red",
alpha = 0.1) + ggtitle("Plot 2")
Để hiểu biết của tôi cốt truyện 1 và 2 nên được giống hệt nhau . Tuy nhiên, tôi nhận được lô sau:
Lô 1:
và cốt truyện 2:
Thêm vào đó, nếu tôi chơi xung quanh với alpha
-values (đối với ví dụ: đặt chúng thành 0.01
, tôi nhận được hai ô sau:
và
trong cốt truyện 2, nếu bạn thêm dữ liệu = plot_data vào geom_rect(), bạn sẽ nhận được kết quả tương tự như plot1 – MLavoie
Điều thú vị, nhưng không phản ánh alpha của 0,1 (khá trong suốt) đối với hiểu biết của tôi ! – David