Khi xây dựng các ô đa lớp người ta nên xem xét ggplot
gói. Ý tưởng là tạo ra một đối tượng đồ họa với tính thẩm mỹ cơ bản và tăng cường nó dần dần.
ggplot
phong cách đòi hỏi dữ liệu được đóng gói trong data.frame
.
# Data generation
x <- seq(-2, 2, 0.05)
y1 <- pnorm(x)
y2 <- pnorm(x,1,1)
df <- data.frame(x,y1,y2)
Giải pháp cơ bản:
require(ggplot2)
ggplot(df, aes(x)) + # basic graphical object
geom_line(aes(y=y1), colour="red") + # first layer
geom_line(aes(y=y2), colour="green") # second layer
Ở đây + operator
được sử dụng để thêm các lớp bổ sung cho đối tượng cơ bản.
Với ggplot
bạn có quyền truy cập vào đối tượng đồ họa trên mọi giai đoạn của âm mưu. Nói, thiết lập từng bước thông thường có thể trông như thế này:
g <- ggplot(df, aes(x))
g <- g + geom_line(aes(y=y1), colour="red")
g <- g + geom_line(aes(y=y2), colour="green")
g
g
tạo ra cốt truyện và bạn có thể thấy nó ở mọi giai đoạn (tốt, sau khi tạo ra ít nhất một lớp). Bùa mê tiếp theo của cốt truyện cũng được thực hiện với đối tượng được tạo. Ví dụ: chúng ta có thể thêm nhãn cho các trục:
g <- g + ylab("Y") + xlab("X")
g
Hình thức cuối cùng g
như:
CẬP NHẬT (2013-11-08):
Như đã chỉ ra trong các bình luận, ggplot
triết lý của đề nghị sử dụng dữ liệu ở định dạng dài. Bạn có thể tham khảo câu trả lời này để xem mã tương ứng.
?curve
. Sử dụngadd=TRUE
.