2014-01-20 11 views
9

は、私は次のコード例でベン図を作るためにベン図を使用します。ラベルをVennDiagramに収める方法を教えてください。

enter image description here

左図の右側の名前が切断されています。この数字を与える

library(VennDiagram) 
venn.diagram(list(shams_90d = 1:3, shams_90d_4h = 2:4, sham3__shams_90d = 3:5, 
      sham3_90d__shams = 5:7, sham3_90d__shams_4h = 6:9), 
      fill = c("red", "green", "blue", "yellow", "purple"), 
      alpha = c(0.5, 0.5,0.5, 0.5, 0.5), cex = 1,cat.fontface = 2, 
      lty =1, filename = "trial2.emf"); 

、そして底の名前のちょっとでも。私は幅を変更しようとしましたが、それはベン図自体が広くなり、名前はまだ切り取られます。

ダイアグラムの左右に空白を追加するか、名前をベンダイアグラムに向かって押し込むことで、完全名が含まれるようにVennDiagramを作成するにはどうすればよいですか?

答えて

7

cat.justでラベルのテキストを正当化することができます。パッケージリファレンスマニュアルは情報を提供します。パラメータを渡す方法について説明します。

私は、正当化値の試行錯誤を使用しました。

# Plot 
v <- venn.diagram(list(shams_90d = 1:3, shams_90d_4h = 2:4, sham3__shams_90d = 3:5, 
        sham3_90d__shams = 5:7, sham3_90d__shams_4h = 6:9), 
       fill = c("red", "green", "blue", "yellow", "purple"), 
       alpha = c(0.5, 0.5,0.5, 0.5, 0.5), cex = 1,cat.fontface = 2, 
       lty =1, filename=NULL, cat.cex=0.8, 
       cat.just=list(c(0.6,1) , c(0,0) , c(0,0) , c(1,1) , c(1,0))) 

grid.newpage() 
grid.draw(v) 

enter image description here

+0

私はベン図の数百を生成していますので、これを自動的に行うにはとにかくありますか?おそらく – par

+1

。しかし、私はラベルが正当化されることが厄介な一致を得ることができると思う。速いハックは、より小さな 'grid :: viewport'を設定することです。したがって、 'cat.just'行を除いた例を使用してください:' grid.newpage(); pushViewport(viewport(width = unit(0.8、 "npc")、height = unit(0.8、 "npc"))); grid.draw(v) '。あなたのグラフィックスウィンドウ/出力デバイスの幅を調整する必要があるかもしれません(つまり 'pdf(...、width = ...)')。より多くの思考のために新しい質問をする価値があるかもしれません。 – user20650

+1

問題の提案と解決を試みました – par

関連する問題