我正在使用pakage circlize绘制两个不同床(数据框)的直方图。我可以使用“ circos.trackHist”函数在两个不同的轨迹中进行直方图绘制,但由于它们在Y轴上的比例不同,因此无法对其进行比较。此函数具有一个参数来强制在同一轨道的像元之间进行缩放(force.ylim = TRUE),但是我找不到一种在轨道之间强制Y缩放的方法。
这可能吗?
答案 0 :(得分:0)
好吧...我找到了解决方案。
要在特定轨道的单元格之间保持相同的Y比例,必须在函数“ circos.trackHist”内添加参数“ force.ylim = TRUE”。例如:
circos.trackHist(sexpoints2$CHROMOSOME, sexpoints2$START, track.height = 0.1, col = "blue", border = NA, bin.size = 1000000, force.ylim=TRUE)
这会自动计算y轴的范围。但是,如果您需要在整个轨道上强制确定的y轴范围,则可以按照以下步骤进行定义:
1-通过以下方式编辑“ circos.trackHist”功能:
trace(circos.trackHist, edit = TRUE)
2-在新窗口中插入函数“ circos.trackPlotRegion”,并通过参数“ ylim =“定义y轴的新范围 例如:
circos.trackPlotRegion(factors = fa, y = yy, track.height = track.height,
track.index = track.index, force.ylim = force.ylim, bg.col = bg.col,
bg.border = bg.border, bg.lty = bg.lty, bg.lwd = bg.lwd,
ylim = c(0, 15))
3-保存修改,然后运行“ circos.trackHist”功能。
这对于比较由不同数据构成的直方图轨迹很有用。
享受。