带IGRAPHE的并排绘图

带IGRAPHE的并排绘图,r,pdf,plot,R,Pdf,Plot,我尝试在pdf文件的一页中并排绘制两个图形,如下所示: library(igraph) library(ggplot2) post <- topicmodels::posterior(ldaOut) layout(matrix(1,1 byrow = TRUE)) cor_mat <- cor(t(post[["terms"]])) cor_mat[ cor_mat < .05 ] <- 0 diag(cor_mat) <- 0 graph <- graph.

我尝试在pdf文件的一页中并排绘制两个图形,如下所示:

library(igraph)
library(ggplot2)
post <- topicmodels::posterior(ldaOut)
layout(matrix(1,1 byrow = TRUE))
cor_mat <- cor(t(post[["terms"]]))
cor_mat[ cor_mat < .05 ] <- 0
diag(cor_mat) <- 0
graph <- graph.adjacency(cor_mat, weighted=TRUE, mode="lower")
graph <- delete.edges(graph, E(graph)[ weight < 0.05])
E(graph)$edge.width <- E(graph)$weight* 15
V(graph)$label <- paste("Topic", V(graph))
V(graph)$size <- colSums(post[["topics"]]) * 2
set.seed(110)
pdf("all.pdf", width=400,height=350,res=72)
p1 <- plot.igraph(graph, edge.width = E(graph)$edge.width, 
    edge.color = "blue", vertex.color = "green", 
    vertex.frame.color = NA, vertex.label.color = "black")
clp <- cluster_label_prop(graph)
class(clp)
p2 <- plot(clp, graph, edge.width = E(graph)$edge.width, edge.color = "blue",vertex.color = "green")
pushViewport(viewport(layout = grid.layout(1, 2)))
print(p1, vp = viewport(layout.pos.row = 1, layout.pos.col = 1))
print(p2, vp = viewport(layout.pos.row = 1, layout.pos.col = 2))
dev.off()
库(igraph)
图书馆(GG2)

张贴以便问题有答案

问题是,当您使用
pdf
语句切换到一个新的图形设备时,您会丢失任何需要1×2图形显示的指示。解决办法是增加

par(mfrow=c(1,2)) 

在你的pdf声明之后。如果您的
布局
语句放在那里,它可能会起作用

后再现示例。什么是
ldaOut
post
?尝试用
par(mfrow=c(1,2))
@pogib替换
layout
语句,因为这些是我处理过的数据集,我对此没有异议。我的问题来自绘图结果。@G5W问题仍然相同,它将两个单独的绘图打印到pdf.Doh的页面中,我应该看到这个。请将
par(mfrow=c(1,2))
放在您的
pdf
声明
pdf(“all.pdf”,宽度=400,高度=350,分辨率=72)之后。