Круговой график - гистограммы с одинаковой осью Y - PullRequest
0 голосов
/ 14 февраля 2019

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

Возможно ли это?

1 Ответ

0 голосов
/ 15 февраля 2019

Хорошо ... Я нашел это решение.

Чтобы поддерживать одинаковую шкалу 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".

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

Наслаждайтесь.

...