可能是一个愚蠢的问题。 我有一个data.frame看起来像:
Sample3 Sample1 Sample4 Sample5 Sample10 Gene1 6.90 6.45 6.56 3.4 2.0 Gene2 3.4 4.98 0.12 1.5 0.56 Gene3 3.24 0 0.12 0.56 0.22 .....................
还有另一个data.frame(Sample_ann),如下所示:
Sample Batch Sample3 A Sample1 A Sample4 B Sample5 C Sample10 C ... ...
我想绘制每批Boxplots着色样品的图。 关键是ggplot对样本进行重新排序,但我想保持原样。
此处是代码:
mydf_reorder %>% rownames_to_column("Genes") %>% gather(Sample, Sample_value, -Genes) %>% left_join(Samples_ann, by = "Sample") %>% ggplot(aes(x=Sample, y=Sample_value, color=Batch)) + geom_boxplot()
我尝试添加+ geom_bar(stat =“ identity”),但顺序仍然更改。
有人可以帮我吗?
提前谢谢
答案 0 :(得分:-1)
您需要更改变量中因子的顺序,例如更改虹膜数据集中因子顺序的示例:
ggplot(iris,aes(Species))+geom_bar()
levels(iris$Species)# "setosa" "versicolor" "virginica"
iris$Species = factor(iris$Species, levels = c(levels(iris$Species[3],levels(iris$Species)[2],levels(iris$Species)[1]))
levels(iris$Species) # "virginica" "versicolor" "setosa"
ggplot(iris,aes(Species))+geom_bar()