我正在使用 pakage circlize 来绘制两个不同床(数据框)的直方图。我可以使用“circos.trackHist”函数在两个不同的轨道上制作直方图,但我无法比较它们,因为它们在 Y 轴上有不同的比例。这个函数有一个参数来强制同一轨道的单元格之间的比例(force.ylim = TRUE),但我找不到一种方法来强制轨道之间的 Y 比例。
这可能吗?
嗯...我找到了这个解决方案。
要在特定轨道的单元格之间保持相同的 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”。
这对于比较由不同数据组成的直方图轨迹很有用。
享受。