我使用circlize包绘制了下面的图。红色圆是随后使用plotrix绘制的单位圆。我想在红色单位圆圈外画出第一条轨道。出于这个原因,我将canvas.xlim和canvas.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发布于 2016-03-23 10:44:59
我不知道如何调整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()返回最后一个轨道的底部边框到圆心的距离。
https://stackoverflow.com/questions/36067390
复制相似问题