Круговой график — гистограммы с одинаковой осью Y

Я использую pakage circlize для рисования гистограмм двух разных кроватей (кадров данных). Я мог бы сделать гистограммы на двух разных треках, используя функцию «circos.trackHist», но я не могу их сравнить, потому что они имеют разные масштабы по оси Y. У этой функции есть параметр для принудительного масштабирования между ячейками одной дорожки (force.ylim=TRUE), но я не смог найти способ принудительно установить масштабы Y между треками.

Это возможно?


person Nicolás Spoto    schedule 14.02.2019    source источник


Ответы (1)


Ну... я нашел это решение.

Чтобы сохранить одинаковую шкалу Y между ячейками конкретной дорожки, вы должны добавить параметр «force.ylim = TRUE» внутри функции «circos.trackHist». Например:

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» и определите новый диапазон оси Y с помощью параметра «ylim =" Например:

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".

Это полезно для сравнения дорожек гистограмм, сделанных из разных данных.

Наслаждаться.

person Nicolás Spoto    schedule 14.02.2019