Tôi muốn vẽ ba đồ thị theo bố cục 1x3. Chỉ đồ thị đầu tiên cần phải có nhãn trục dọc, nhưng tôi muốn tất cả ba khu vực âm mưu có cùng kích thước chính xác. Điều này sẽ không thành vấn đề nếu không có hoặc tất cả các đồ thị có nhãn trục. Nhưng làm cách nào để có được tất cả ba biểu đồ có cùng kích thước khi một biểu tượng có nhãn trục và hai biểu đồ kia thì không? Tôi đang cố gắng làm điều này trong đồ họa cơ bản bởi vì đó là những gì tôi biết rõ nhất, nhưng tôi rất vui khi sử dụng lưới hoặc ggplot2 nếu chúng cung cấp các phương pháp tốt hơn để giải quyết vấn đề của tôi.Làm thế nào để tạo nhiều ô, mỗi ô có cùng kích thước vùng ô, khi chỉ có một ô có nhãn trục?
Dưới đây là một số dữ liệu giả, mã âm mưu của tôi, và cốt truyện riêng của mình:
# Fake Data
data = structure(list(y1 = 1:5, y2 = c(1.2, 2.4, 3.6, 4.8, 6), y3 = c(1.44,
2.88, 4.32, 5.76, 7.2)), .Names = c("y1", "y2", "y3"),
row.names = c("I needed 12 units for financial aid",
"I couldn't find any other open classes",
"I might be adding a major or minor",
"The class seemed interesting", "The class fit into my schedule"
), class = "data.frame")
# Plotting code
par(mar=c(5,15,4,1))
par(mfrow=c(1,3))
barplot(data$y1,names.arg=row.names(data), horiz=TRUE,las=1, +
xlim=c(0,8), main="Group 1")
par(mar=c(5,1,4,1))
barplot(data$y2,names.arg=row.names(data), horiz=TRUE,las=1, +
axisnames=FALSE, xlim=c(0,8), main="Group 2")
barplot(data$y3,names.arg=row.names(data), horiz=TRUE,las=1, +
axisnames=FALSE, xlim=c(0,8), main="Group 3")
# Reset plot options back to defaults
par(mfrow=c(1,1)
par(mar=c(5,4,4,2)+0.1)
[Cập nhật: tôi đã chọn câu trả lời trực tiếp nhất đã trả lời câu hỏi của tôi, mà là trong đồ họa cơ bản, nhưng tôi khuyên bạn nên nhìn vào các giải pháp khác là tốt, khi họ thấy làm thế nào để làm điều tương tự trong lattice
và ggplot2
.]
Thay đổi cài đặt 'oma' có vẻ như" đặt lại "khu vực ô. Ví dụ, nếu tôi tạo cốt truyện đầu tiên với 'oma = c (0,15,0,0)' và sau đó gọi 'par (oma = c (0,0,0,0))' theo sau bởi 'plot (. ..) ', tôi kết thúc với hai ô riêng biệt, thay vì hai ô trên cùng một" trang ". Có cách nào để nói với R để giữ cùng một khu vực âm mưu 1x3 sau âm mưu đầu tiên, mặc dù tôi đã gọi là 'oma'? – eipi10
@ eipi10 bạn chỉ nên đặt tham số 'oma' một lần, không thay đổi nó giữa các khung riêng lẻ. –
Điều đó có hiệu quả, cảm ơn. Trong sự tò mò, tại sao bạn không phải đặt lại 'oma' trở lại c (0,0,0,0) sau khi vẽ cốt truyện đầu tiên?Ngoài ra, để tham khảo trong tương lai, trong phạm vi có những trường hợp mà người ta muốn thay đổi thông số đồ họa giữa các ô, có cách nào để ngăn R khỏi việc thiết lập lại vùng biểu đồ không? – eipi10