Разверните MrFlicks и мои комментарии выше.
Вы можете комбинировать базовую и сетчатую графику с помощью пакета gridBase
. Однако, если вы не ограничены в использовании базовой графики R, вам может быть проще создать все свои графики с помощью графического пакета на основе сетки и объединить их с помощью пакета gridExtra
.
Ваши данные
library(VennDiagram)
plus.venn <- draw.pairwise.venn(368, 1171, 149) #venn diagram 1
minus.venn <-draw.pairwise.venn(349, 1335, 173) #venn diagram 2
a <-sample(1:10000,3000)
b <-sample(5000:15000,3000)
Размещение базовых и сетчатых участков
library(grid)
library(gridBase)
# Layout of plots - 4 plots of equal size
layout(matrix(1:4, 2, byrow = TRUE))
# First & second base plot
hist(a)
hist(b)
# Grid regions of current base plot (ie from frame)
frame()
vps <- baseViewports()
pushViewport(vps$inner, vps$figure, vps$plot)
grid.draw(plus.venn)
popViewport(3)
# fourth
frame()
vps <- baseViewports()
pushViewport(vps$inner, vps$figure, vps$plot)
grid.draw(minus.venn)
popViewport(3)
Что производит
Или используйте ggplot2
для создания гистограмм и комбинируйте их с помощью grid.arrange
library(ggplot2)
library(gridExtra)
grid.arrange(qplot(a, geom="histogram") + theme_classic(),
qplot(b, geom="histogram") + theme_classic(),
grobTree(plus.venn),
grobTree(minus.venn),
ncol=2)
Что производит
Вы можете изменить макет любого метода на то, что хотите.
person
user20650
schedule
22.10.2015
draw.pariwise.venn
, кажется, использует графикуgrid
, аhist
использует базовую графику. Это не весело смешивать два. Можете ли вы вместо этого создать удобную для сетки гистограмму сggplot2
илиlattice
? - person MrFlick   schedule 22.10.2015gridBase
(пример здесь). но вы, вероятно, получите более красивые графики, если будете следовать совету MrFlicks, делая все свои графики в сетке. - person user20650   schedule 22.10.2015