【发布时间】:2017-09-08 19:02:23
【问题描述】:
我尝试在 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()
但结果在两个单独的页面而不是一页中显示了两个图。有关如何解决此问题的任何建议?
【问题讨论】:
-
发布可重现的示例。什么是
ldaOut、post? -
尝试用
par(mfrow=c(1,2))替换你的layout语句 -
@PoGibas 这些是我处理的数据集,我对此没有问题。我的问题来自绘图结果。
-
@G5W 问题还是一样,它将两个分开的图打印到 pdf 的页面中。
-
Doh,我应该看到这个。请将
par(mfrow=c(1,2))紧跟在pdf声明之后pdf("all.pdf", width=400,height=350,res=72)