0

我有一行代码在一些数据上运行以制作 MDS 图。让我们先从数据开始:

MDS 1 的数据

MDS 2 的数据

我正在使用这行代码创建 MDS 图:

ggplot(mds, aes(X1,X2,color=Virus_Treatment,shape=Infection)) + geom_point(size=3) + ggtitle("MDS Plot") + theme(plot.title = element_text(lineheight=.8, face="bold"))

当我为 MDS 1 绘制数据时,它看起来像这样:MDS 图 1

然而,当我绘制 MDS 2 的数据时,它看起来像这样:在此处输入图像描述

第一个问题:为什么 MDS 1 的感染图例在顶部,而 MDS 2 的感染图例在底部?我真的在上面运行了相同的代码,为什么传说会改变它的行为?我想要这些地块之间的一致性。有没有办法指定图例的排序方式?

第二个问题:我希望 Virus_Treatment 部分的颜色保持一致。在 MDS 2 中,数据类型比 MDS 1 中多 1 种,因此会影响颜色一致性。有没有办法重新排序 MDS 2 的数据,以便新颜色位于列表的末尾,或者手动设置静态颜色集?即使使用的颜色数量不同,我也需要在图表中保持颜色相同。

提前感谢您对此的任何见解!

4

1 回答 1

0

感谢 Gregor 和 aosmith 的回答。这就是我为解决这些问题所做的工作:

Virus_Treatments <- factor(mds$Virus_Treatment, 
    levels = c("ACali09_contact", "AChkShng113_principal", 
               "AShng113_principal", "mock_mock", "ACali09_principal"))

color_set = c("#F8766D", "#7CAE00", "#00BFC4", "#C77CFF", "#FF61C3")

ggplot(mds, aes(X1,X2,color=Virus_Treatments,shape=Infection)) + geom_point(size=3) + ggtitle("MDS Plot") + theme(plot.title = element_text(lineheight=.8, face="bold")) + guides(colour = guide_legend(order = 2), shape = guide_legend(order = 1)) + scale_colour_manual(values=color_set)
于 2017-07-17T18:41:18.523 回答