Câu hỏi buộc một đối tượng cốt truyện thông thường vào một Grob để sử dụng trong grid.arrange


b <- ggplot(cars,aes(x=speed,y=dist))+geom_line()
grid.arrange(
    b,
    plot(cars),
    ncol=1
)

cho tôi lỗi sau

Lỗi trong gList (danh sách (grobs = list (danh sách (x = 0.5, y = 0.5, width = 1, height = 1,: chỉ 'grobs' được cho phép trong "gList"

Giả sử đồ thị thứ hai của tôi phải ra khỏi plot chức năng. Làm thế nào để chuyển đổi đầu ra đó thành grobgiống như đối tượng để nó phát độc đáo với grid.arrange ?


10
2017-11-20 12:02


gốc


Bạn đã không hỏi câu hỏi này trước đó chưa?
Có nhưng không có mã tái sản xuất và cũng không được đặt ra. Tôi đã xóa cái cũ. - Chapo


Các câu trả lời:


bạn có thể thử với gridGraphics

library(gridGraphics)

grab_grob <- function(){
  grid.echo()
  grid.grab()
}

plot(cars)
g <- grab_grob()
b <- ggplot(cars,aes(x=speed,y=dist))+geom_line()
grid.arrange(
  b,g,
  ncol=1
)

hoặc, cách khác, sử dụng gridBase.


10
2017-11-21 21:51



Cảm ơn bạn đã trả lời. Tôi đã kết thúc lại phương pháp cốt truyện với ggplot2 bởi vì sử dụng phương pháp của bạn, tôi đã có vấn đề về kích thước. Tuy nhiên, tôi sẽ xác nhận tính hợp lệ của nó. - Chapo