ggplot2 heatmap: как сохранить порядок маркировки?

Я пытаюсь вывести heatmap на печать в ggplot2 с помощью csv данные после решения casbon в

http://biostar.stackexchange.com/questions/921/how-to-draw-a-csv-data-file-as-a-heatmap-using-numpy-and-matplotlib

проблемой является попытка x-маркировки обратиться сама. Например, если я подкачиваю, маркируют COG0002 и COG0001 в тех данных в качестве примера, x-маркировка все еще выходят в порядке сортировки (cog0001, cog0002, cog0003.... cog0008).

Там должен так или иначе предотвратить это? Я хочу к нему быть приказанным как в файле CSV

спасибо

стр

6
задан Tg. 7 June 2010 в 13:24
поделиться

3 ответа

Если вы хотите сохранить порядок непосредственно из файла csv:

foomelt$COG <- factor(foomelt$COG, levels = as.character(foo[[1]]))
4
ответ дан 9 December 2019 в 22:29
поделиться

Пробовали ли вы изменить порядок уровней факторов перед построением графика? Например,

foomelt$COG = factor(foomelt$COG,levels(foomelt$COG)[c(2,1,3:8)])

(я не могу попробовать это прямо сейчас, поэтому не могу быть уверен, что это работает)

2
ответ дан 9 December 2019 в 22:29
поделиться

Если я помню, при вызове фактора (x) с аргументом уровней по умолчанию уровни устанавливаются как levels = sort (unique (x )).

Вы можете отменить это действие, установив level = unique (x).

Например:

set.seed(1)
x = sample(letters, 100, replace = TRUE)
head(x, 5)

[1] "g" "j" "o" "x" "f"

levels(factor(x))

[1] "a" "b" "c" "d" "e" "f" "g" "h "" i "" j "" k "" l "" m "" n "" o "" p "" q "" r "" s "

[20] " t "" u "" v "" w "" x "" y "" z "

levels(factor(x, levels = unique(x)))

[1] " g "" j "" o "" x "" f "" y "" r "" q "" b "" e "" u "" m "" s " "z" "d" "k" "a" "w" "i"

[20] "p" "v" "c" "n" "t" "l" "h"

Вы можете увидеть эту настройку levels = unique (x) сохраняет порядок появления в данных.

5
ответ дан 9 December 2019 в 22:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: