ในตอนแรก ฉันไม่สามารถพล็อตมันได้ทั้งหมด ซึ่งหมายความว่าฉันไม่สามารถหาวิธีจับวัตถุพล็อตและป้อนไปที่ cowplot::plot_grid
ได้ ตอนนี้ ฉันพบวิธีแก้ไขปัญหาชั่วคราวซึ่งบันทึกเพื่อจัดไฟล์รูปภาพของกราฟพล็อตเป็น PNG และอ่านด้วย cowplot::draw_image
มีวิธีที่ง่ายกว่านี้ไหม? นอกจากนี้ เป็นการยากที่จะตั้งค่าพารามิเตอร์ของ PNG เพื่อให้มีความละเอียดและขนาดที่ดีและหลีกเลี่ยงการตัดขอบ ฉันยังต้องปรับแต่งโครงเรื่องด้วย เช่น ลูกศรแบบวนซ้ำและแบบกำหนดทิศทางพร้อมค่าน้ำหนักการเชื่อมต่อที่แม่นยำควรเป็นไปได้
ต่อไปนี้ มีสองตัวเลือกและผลลัพธ์ตามลำดับที่ฉันได้รับ
library(ggplot2); library(cowplot); library(igraph)
graph_1 <- sample_gnm(10, 25, directed = T, loops = T)
gg_test <- ggplot(data.frame("a" = seq(1, 5, length.out = 10), "b" = runif(10)), aes(x=a, y=b)) + geom_point() + theme_classic()
ตัวเลือก 1 - โดยตรง
# option 1 - empty graph
cowplot::plot_grid(plot(graph_1), gg_test)
ตัวเลือกที่ 2 - เพื่อยื่น
# option 2 - working but horrible code and difficult setting of the resolution/size (r-base not the best)
png("to_delete_for_import.png", res = 150, height = 800, width = 1100)
plot(graph_1, edge.label = LETTERS[1:10], vertex.color = RColorBrewer::brewer.pal(10, "Spectral"))
dev.off()
graph_1_cwpl <- ggdraw() + draw_image("to_delete_for_import.png")
file.remove("to_delete_for_import.png")
cowplot::plot_grid(graph_1_cwpl, gg_test)
x <- recordPlot()
หลังจากที่คุณสร้างกราฟแล้วตามด้วยplot_grid(x, gg_test)
แต่ผลออกมาไม่น่าประทับใจเท่าไหร่ผมเกรงว่า คุณลองggnet2
แล้วหรือยัง? - person January   schedule 16.07.2019recordPlot()
ใช้งานได้ แต่ต้องมีgridGraphics
แพ็คเกจ และ (ในกรณีของฉัน) กำลังเพิ่มNA
ป้ายกำกับที่ขอบ ในด้านคุณภาพก็ยังดี! ฉันไม่รู้ggnet2
ฉันกลัว ฉันจะตรวจสอบมันออกมา ;) - person Garini   schedule 16.07.2019ggnet2
(ซึ่งค่อนข้างดี) ไม่สามารถจัดการกับ self-loops ที่มีอยู่ในแอปพลิเคชันจริงของฉันได้ โดยข้อดี ฉันเปิดประเด็นในหน้า GitHub - person Garini   schedule 16.07.2019NA
s ได้รับการแก้ไขเมื่อเร็ว ๆ นี้ใน gridGraphics: github.com/pmur002/gridgraphics/issues/14< /ก> - person Claus Wilke   schedule 17.08.2019