เพิ่มชื่อเรื่องโดยใช้ grid.arrange สำหรับหลายแปลงที่สร้างด้วย gridExtra::grid.arrange

ฉันต้องใช้ gridExtra::grid.arrange เพื่อพล็อตหลาย ๆ พล็อตนอกเหนือจากกัน เนื่องจากแพ็คเกจที่ฉันใช้เพื่อสร้างความพอดีสำหรับพล็อต ฉันต้องสร้างชื่อเรื่องสำหรับโครงเรื่องโดยใช้ grid.arrange ตอนนี้ฉันต้องการรวมทั้งสองเข้าด้วยกัน แต่ไม่รู้ว่าจะทำอย่างไร ดังนั้น: ฉันอยากจะพล็อตตัวละครหลายๆ ตัวแยกจากกัน และตั้งชื่อให้พวกมันต่างกัน

ฉันมีออยเลอร์1 และออยเลอร์2 เนื่องจากพอดีททแทนข้อมูลของฉันในแผนภาพออยเลอร์ สำหรับการวางแผน 2 แปลงนอกเหนือจากกัน รหัสนี้ใช้ได้กับฉัน:

gridExtra::grid.arrange(plot(euler1),plot(euler2))

ในการตั้งชื่อพล็อตเรื่องเดียว รหัสนี้ใช้ได้กับฉัน:

plot1 <- plot(euler1)
grid.arrange(grobs = list(plot1), top = "Title 1")

ตอนนี้ฉันต้องการรวมรหัสทั้งสองเข้าด้วยกัน ฉันจะทำอย่างไร?

ฉันลองตัวอย่าง (แต่ไม่ได้ผล):

plot1 <- plot(euler1)
plot2 <- plot(euler2)
gridExtra::grid.arrange(plot1, plot2, grobs = list(plot1, plot2), top = list("Title 1","Title 2"))

ขอแสดงความนับถือ จูดิธ


person Judithhhhhh    schedule 16.11.2018    source แหล่งที่มา


คำตอบ (2)


โดยปกติแล้ว คุณจะต้องเพิ่มชื่อเรื่องให้กับโครงเรื่องด้วยตัวเอง เช่น

p1 = ggplot() + ggtitle('plot 1')
p2 = ggplot() + ggtitle('plot 2')

grid.arrange(grobs = list(p1, p2), top = "Global Title", ncol=2)

แต่ถ้าคุณต้องการใช้อาร์กิวเมนต์ top ของ grid.arrange สำหรับชื่อเรื่อง คุณสามารถซ้อนมันได้

p = ggplot()
grid.arrange(arrangeGrob(p, top = 'title 1'), arrangeGrob(p, top = 'title 2'), top = "Global Title", ncol=2)
person user10664707    schedule 16.11.2018
comment
ขอบคุณสำหรับการตอบกลับของคุณ. น่าเสียดายที่แพ็คเกจที่ฉันใช้ (eulerr) ขึ้นอยู่กับการใช้งานพล็อตแบบกำหนดเองของตัวเองซึ่ง ggplot ไม่ใช่ตัวเลือก ดังนั้นฉันต้องใช้ไวยากรณ์ที่ระบุในคำถามเดิมของฉัน 'plot' และ 'grid.arrange' ด้วย 'top' และ 'กริดพิเศษ' - person Judithhhhhh; 19.11.2018

ฉันคิดออกแล้วว่าต้องทำอย่างไร เนื่องจากการใช้ main ใน plot ได้รับการแก้ไขแล้วสำหรับแพ็คเกจ eulerr ตอนนี้ฉันสามารถใช้:

gridExtra::grid.arrange(plot(euler1, main = 'title1'),
plot(euler2, main = 'title2'))

ขอบคุณทุกคนสำหรับข้อเสนอแนะ

person Judithhhhhh    schedule 19.11.2018