コメントで既に説明したように、Vennerable はグリッド グラフィックを使用し、パッケージ関数内のグリッド パラメーターを修正します。この種の機能をパッケージに追加できるかどうか、パッケージのメンテナーに親切に尋ねる必要があるかもしれませんが、それまでの間、あなたが望むことを可能にするハックのスケッチを提供します:
makevp.eqsc
最初のコマンドでは、グリッド定義が含まれていると思われる呼び出された関数を編集できます。
trace("makevp.eqsc",edit=TRUE)
元のコードは次のようになります。
function (xrange, yrange)
{
pushViewport(plotViewport(name = "Vennmar", c(1, 1, 1, 1)))
pushViewport(viewport(name = "Vennlay", layout = grid.layout(1,
1, widths = diff(xrange), heights = diff(yrange), respect = TRUE)))
pushViewport(viewport(name = "Vennvp", layout.pos.row = 1,
layout.pos.col = 1, xscale = xrange, yscale = yrange))
}
最も関連性の高い部分はgrid.layout
、描画するグリッドの種類を示す です。また、layout.pos.row と layout.pos.col も重要で、描画する位置を示します。たとえば、次のようにコードを変更します。
function (xrange, yrange)
{
pushViewport(plotViewport(name = "Vennmar", c(1, 1, 1, 1)))
pushViewport(viewport(name = "Vennlay", layout = grid.layout(2,
1, widths = diff(xrange), heights = diff(yrange), respect = TRUE)))
pushViewport(viewport(name = "Vennvp", layout.pos.row = number,
layout.pos.col = 1, xscale = xrange, yscale = yrange))
}
これで、次のように 2 つの積み上げグラフが得られます。
number<-1 #change the argument inside of makevp.eqsc
plot(VennCompare, doWeights=FALSE)
number<-2
plot(VennCompare, doWeights=TRUE,
show = list(SetLabels = TRUE, Faces = FALSE),add=TRUE) #note add=TRUE
これはあまり見栄えがよくありませんが、変更makevp.eqsc
することで、おそらくより良い結果を得ることができます。