Цветная дендрограмма библиотеки A2R, допускающая более шести символов на этикетку - PullRequest
0 голосов
/ 15 мая 2011

Следующий вопрос к моему предыдущему. R Цветные предложения дендрограмм?
Я использую библиотеку A2R, http://addictedtor.free.fr/graphiques/RGraphGallery.php?graph=79 По умолчанию он ограничивает длину строки меток шестью символами, я пытаюсь выяснить, как разрешить использование более длинных строк в метках, поскольку мои метки намного длиннее. Читаете сейчас библиотеку, есть мысли? Также пытаюсь выяснить, как изменить размер шрифта.

1 Ответ

2 голосов
/ 15 мая 2011

В настоящее время в эту функцию жестко задан предел в 6 символов.Вам нужно взломать его, и место для этого находится в этом разделе:

if (show.labels) {
    par(mar = c(0, 0, 0, 4))
    par(srt = 90)
    obs.labels <- toupper(substr(x$labels[x$order], 1, 6))
    if (is.null(members)) {
        plot(0, type = "n", xlim = c(0.5, n.indiv + 0.5), 
            ylim = c(0, 1), xaxs = "i", axes = FALSE, xlab = "", 
            ylab = "")
        text(1:n.indiv, 0, obs.labels, pos = 4, col = col.down[groups.o])
    }

Поскольку вы делаете метки длиннее, вам нужно будет либо сжать текст внутри аргумента меток text () с помощьюcex меньше 1 (который теперь жестко запрограммирован по умолчанию, так как не обрабатывается аргумент "...") или потребуется взломать размеры полей в остальной части кода, который устанавливает макет графика.Я проверил это, и это работает , когда используется для замены вышеуказанного раздела в перезаписанной версии этой функции:

if (show.labels) {
    par(mar = c(0, 0, 0, 4))
    par(srt = 90)
    obs.labels <- toupper(substr(x$labels[x$order], 1, 12))
    if (is.null(members)) {
        plot(0, type = "n", xlim = c(0.5, n.indiv + 0.5), 
            ylim = c(0, 1), xaxs = "i", axes = FALSE, xlab = "", 
            ylab = "")
        text(1:n.indiv, 0, obs.labels, pos = 4, cex=0.5, col = col.down[groups.o])
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...