ggplot2 heatmap:如何保存标签顺序?

Tg.*_*Tg. 6 r heatmap ggplot2

我试图在casbon的解决方案中使用csv数据在ggplot2中绘制热图

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

问题是x-label尝试重新排序自己.例如,如果我在该示例数据中交换标签COG0002和COG0001,则x-label仍然按排序顺序出现(cog0001,cog0002,cog0003 .... cog0008).

反正有没有阻止这个?我想在csv文件中订购它

谢谢

PP

Eti*_*ine 6

如果您想直接从 csv 文件中保留订单:

foomelt$COG <- factor(foomelt$COG, levels = unique(as.character(foo[[1]])))
Run Code Online (Sandbox Code Playgroud)


Gre*_*reg 5

如果我记得,当使用默认级别参数调用factor(x)时,级别设置为levels = sort(unique(x)).

您可以通过设置levels = unique(x)来覆盖此操作.

例如:

set.seed(1)
x = sample(letters, 100, replace = TRUE)
head(x, 5)
Run Code Online (Sandbox Code Playgroud)

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

levels(factor(x))
Run Code Online (Sandbox Code Playgroud)

[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)))
Run Code Online (Sandbox Code Playgroud)

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

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

您可以看到设置级别=唯一(x)保留数据中出现的顺序.