5

私はここで与えられたレシピを使って多くの成功を収めました. ただし、過去数日間、これは機能していないようです。私sessionInfo()の見た目は次のとおりです。

R version 2.15.2 (2012-10-26)
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] grid      stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] VennDiagram_1.5.1

loaded via a namespace (and not attached):
[1] tools_2.15.2 

次のことを試しましたが、結果は得られませんでした。

 require(VennDiagram)

 venn.diagram(list(B = 1:1800, A = 1571:2020),fill = c("red", "green"), alpha = c(0.5, 0.5), cex = 2,cat.fontface = 4,lty =2, fontfamily =3, filename = "trial2.emf")

しかし、結果は出ませんでした。

私は何か間違ったことをしていますか?

4

2 に答える 2

12

回避策の1つは、プロットを使用png()またはpdf()保存することです。まず、次を使用して画面上にプロットを描画できることを確認しますgrid.draw()

library(VennDiagram)
temp <- venn.diagram(list(B = 1:1800, A = 1571:2020),
    fill = c("red", "green"), alpha = c(0.5, 0.5), cex = 2,cat.fontface = 4,
    lty =2, fontfamily =3, filename = NULL)
grid.draw(temp)

それを確認したら、それを保存するために必要なのgrid.draw()pdf()dev.off()

library(grDevices)

pdf(file="venn.pdf")
    grid.draw(temp)
dev.off()

ヘルプファイルに記載されているように、画像のサイズなどを制御し、画質の制御を改善するための引数がありますpdf()png()

于 2013-01-10T18:47:43.190 に答える
7

MattBagg の回答は優れていますが、完全を期すために、同じページに複数のベン図を保存する方法を追加させてください。複数の条件を比較するときに役立ちます。このようなもの:このソリューションは、pdf() 関数でラップされたMattBagg とnmel のここに画像の説明を入力回答のマッシュアップです。

# libraries
library(VennDiagram)
library(grid)
library(gridBase)
library(lattice)

# create the diagrams
temp1 <- venn.diagram(list(B = 1:1800, A = 1571:2020),
    fill = c("red", "green"), alpha = c(0.5, 0.5), cex = 1,cat.fontface = 2,
    lty =2, filename = NULL)
temp2 <- venn.diagram(list(A = 1:1800, B = 1571:2020),
    fill = c("red", "green"), alpha = c(0.5, 0.5), cex = 1,cat.fontface = 2,
    lty =2, filename = NULL)    


# start new page
plot.new() 

pdf("testpdf", width = 14, height = 7)
# setup layout
gl <- grid.layout(nrow=1, ncol=2)
# grid.show.layout(gl)

# setup viewports
vp.1 <- viewport(layout.pos.col=1, layout.pos.row=1) 
vp.2 <- viewport(layout.pos.col=2, layout.pos.row=1) 

# init layout
pushViewport(viewport(layout=gl))
# access the first position
pushViewport(vp.1)

# start new base graphics in first viewport
par(new=TRUE, fig=gridFIG())

grid.draw(temp2)

# done with the first viewport
popViewport()

# move to the next viewport
pushViewport(vp.2)

  grid.draw(temp2)

# done with this viewport
popViewport(1)

dev.off()
于 2013-03-27T10:37:35.497 に答える