1

circlizeパッケージを使用して次のプロットを描画しました。赤い円は後で を使って描いた単位円plotrixです。赤い単位円の外側にある最初のトラックをプロットしたいと思います。このため、 と を に変更canvas.xlimcanvas.ylimましたc(-1.2, 1.2)。ただし、これは機能しません。circlizeプロットの円の半径を大きくする方法はありますか?

: または、トラックが単位円の内側ではなく外側にあれば、それで十分です。

ここに画像の説明を入力

library(circlize)
set.seed(2)
n = 10
a = data.frame(factor = "dummy",
               x = rnorm(n, 100, sd=10))
circos.par(track.height = 0.2,
           canvas.xlim=c(-1.2, 1.2),   # bigger canvas?
           canvas.ylim=c(-1.2, 1.2))   # bigger canvas?
circos.initialize(factors = a$factor, 
                  x = a$x, xlim = c(0, 360))

lim <- c(-1.2, 1.2)
plot(NULL, asp=1, xlim=lim, ylim=lim)
circos.trackHist(a$factor, a$x, col = "blue", bg.col = grey(.95))
plotrix::draw.circle(0,0,1, border="red", lwd=2)  # unit circle
4

1 に答える 1

1

2 つのプロットを調整xlimして適合させる方法がわかりません。ylimただし、赤い円をトラック内に配置したいだけの場合は、draw.sector()関数を直接使用できます。

circos.initialize(factors = a$factor, 
                  x = a$x, xlim = c(0, 360))
circos.trackHist(a$factor, a$x, col = "blue", bg.col = grey(.95))
draw.sector(0, 360, rou1 = circlize:::get_most_inside_radius(),
    border = "red")

circlize:::get_most_inside_radius()最後のトラックの下端から円の中心までの距離を返します。

于 2016-03-23T10:44:59.387 に答える