ด้วยgrid.arrange
ฉันสามารถจัดเรียงggplot
ตัวเลขหลายตัวในตารางเพื่อให้ได้รูปหลายแผงโดยใช้สิ่งต่างๆเช่น:
library(ggplot2)
library(grid)
library(gridExtra)
สร้าง ggplot2 บางแปลงจากนั้น
plot5 <- grid.arrange(plot4, plot1, heights=c(3/4, 1/4), ncol=1, nrow=2)
ฉันจะได้รับเลย์เอาต์ 2 col ที่ 'ไม่สมดุล' กับหนึ่งพล็อตใน col แรกทั้งหมดและสามพล็อตใน col ที่สองได้อย่างไร ฉันเล่นด้วยวิธี 'กริด - กริด' โดยพยายามใช้grid.arrange
เพื่อพล็อตกริดหนึ่ง (เช่นplot5
ด้านบน) กับพล็อตอื่น แต่ได้รับ:
เกิดข้อผิดพลาดในการจัดเรียง (... , as.table = as.table, clip = clip, main = main,: input ต้องเป็น grobs!
อัปเดต:
ขอบคุณสำหรับคำแนะนำ. ผมจะมองเข้าไปในและviewports
grid
ในขณะเดียวกันขอบคุณ @DWin layOut
ฟังก์ชันในแพ็คเกจ 'wq' ทำงานได้ดีมากสำหรับรูปรวบรวมในSweave
เอกสารของฉัน:
อัปเดต 2:
arrangeGrob
คำสั่ง (แนะนำโดย @baptiste) ยังทำงานได้ดีและดูเหมือนง่ายมาก - อย่างน้อยมันก็เป็นเรื่องง่ายที่จะแก้ไขความกว้างของทั้งสองคอลัมน์ นอกจากนี้ยังมีประโยชน์ที่จะไม่ต้องใช้แพ็คเกจ `` wq '
เช่นนี่คือรหัสจากไฟล์ Sweave ของฉัน:
<<label=fig5plot, echo=F, results=hide>>=
plot5<-grid.arrange(plot4, arrangeGrob(plot1, plot2, plot3, ncol=1),
ncol=2, widths=c(1,1.2))
@
\begin{figure}[]
\begin{center}
<<label=fig5,fig=TRUE,echo=T, width=10,height=12>>=
<<fig5plot>>
@
\end{center}
\caption{Combined plots using the `arrangeGrob' command.}
\label{fig:five}
\end{figure}
ซึ่งสร้างผลลัพธ์ต่อไปนี้:
BTW มีใครบอกฉันว่าทำไม '> NA' จึงปรากฏขึ้น?
grid.arrange
อาจไม่ยืดหยุ่นเพียงพอ (ค้นหา stackoverflow สำหรับ "[r] grid viewport")