我试图在casbon的解决方案中使用csv数据在ggplot2中绘制热图
问题是x-label尝试重新排序自己.例如,如果我在该示例数据中交换标签COG0002和COG0001,则x-label仍然按排序顺序出现(cog0001,cog0002,cog0003 .... cog0008).
反正有没有阻止这个?我想在csv文件中订购它
谢谢
PP
如果您想直接从 csv 文件中保留订单:
foomelt$COG <- factor(foomelt$COG, levels = unique(as.character(foo[[1]])))
Run Code Online (Sandbox Code Playgroud)
如果我记得,当使用默认级别参数调用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)保留数据中出现的顺序.