【问题标题】:how to increase the radius in circlize plot如何增加circlize图中的半径
【发布时间】:2016-03-17 17:13:48
【问题描述】:

我使用circlizepackage 绘制了以下图。红圈是之后绘制的单位圆,使用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

【问题讨论】:

    标签: r plot circlize


    【解决方案1】:

    我不知道如何调整 xlimylim 以使两个图适合。但是如果你只是想把红圈放在轨道里面,你可以直接使用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()返回最后一个轨道的底部边框到圆心的距离。

    【讨论】:

    • SO 现在有一个circlize 标记以方便您使用!
    猜你喜欢
    • 1970-01-01
    • 2011-07-17
    • 1970-01-01
    • 2013-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-03
    相关资源
    最近更新 更多