2012-04-30 36 views
14

Tôi đang sử dụng R và Latex cùng nhau để vẽ một số ô và đang cố gắng tạo ra một truyền thuyết chung cho tất cả chúng.Chú thích chung cho nhiều ô trong R

Tôi có sáu ô riêng biệt trên cùng một trang. Tôi đã thực hiện từng ô riêng biệt trong R và sau đó hiển thị chúng trên cùng một trang bằng cách sử dụng \ includegraphics trong Latex.

Mỗi biểu đồ có cùng thông tin chú giải, do đó, thay vì có chú thích trong mỗi ô, tôi muốn có một chú giải ngang được hiển thị ở cuối trang. Thật không may, tôi không thể tìm ra cách làm một huyền thoại mà không có cốt truyện. Một khi tôi có một hình ảnh riêng biệt cho huyền thoại, tôi sẽ biết làm thế nào để bao gồm nó ở dưới cùng của trang bằng cách sử dụng Latex.

Mã Tôi đang cố gắng sử dụng để làm cho truyền thuyết là

plot(1, type = "n", axes=FALSE, xlab="", ylab="") 
plot_colors <- c("blue","black", "green", "orange", "pink") 

legend(.6,1.3,legend = c("Fabricated Metal", "Iron and Steel", "Paper", 
"Beverages", "Tobacco"), 
     col=plot_colors, lwd=5, cex=.5, horiz = TRUE) 

Nhưng, font chữ quá nhỏ và các thủ trong vòng cấm huyền thoại bị cắt đứt.

+0

Nếu tất cả các lô sử dụng các chức năng cơ bản R, bạn có thể có một thời gian dễ dàng hơn đặt tất cả chúng vào một ô trong R bằng cách sử dụng 'layout'. – joran

Trả lời

5

Hãy thử điều này,

plot_colors <- c("blue","black", "green", "orange", "pink") 
text <- c("Fabricated Metal", "Iron and Steel", "Paper", 
"Beverages", "Tobacco") 
plot.new() 
par(xpd=TRUE) 
legend("center",legend = text, text.width = max(sapply(text, strwidth)), 
     col=plot_colors, lwd=5, cex=1, horiz = TRUE) 
par(xpd=FALSE) 
+0

Đoạn mã trên tạo ra một chú giải quá lớn - Bạn chỉ có thể thấy trung tâm của nó và các bên bị cắt. Ngay cả khi tôi xuất tập tin và mở lại nó, tôi không có chú thích đầy đủ. – user1288578

+0

sẽ tùy thuộc vào kích thước phông chữ và chiều rộng thiết bị của bạn. Bạn có thể muốn có một cái nhìn vào các truyền thuyết mà "mạng tinh thể" có thể tạo ra, chúng có thể thông minh hơn một chút trong khoảng cách giữa các phím khác nhau. (bạn sẽ cần phải sử dụng 'gridBase' để thêm chú thích vào các ô cơ bản). – baptiste

22

Một ví dụ đơn giản về những gì tôi đang nói về:

m <- matrix(c(1,2,3,4,5,6,7,7,7),nrow = 3,ncol = 3,byrow = TRUE) 

layout(mat = m,heights = c(0.4,0.4,0.2)) 

for (i in 1:6){ 
    par(mar = c(2,2,1,1)) 
    plot(runif(5),runif(5),xlab = "",ylab = "") 
} 


plot(1, type = "n", axes=FALSE, xlab="", ylab="") 
plot_colors <- c("blue","black", "green", "orange", "pink") 
legend(x = "top",inset = 0, 
     legend = c("Fabricated Metal", "Iron and Steel", "Paper","Beverages", "Tobacco"), 
     col=plot_colors, lwd=5, cex=.5, horiz = TRUE) 

enter image description here

+2

bạn có thể muốn thêm 'par (mar = c (0,0,0,0))' hoặc đặt lại các lề trước khi thêm chú giải – MichaelChirico

Các vấn đề liên quan