我问你,因为我在ggplot2中遇到了一个传奇问题。 这是一个简化的案例
library(ggplot2)
library(datasets)
bp <- ggplot(data=PlantGrowth, aes(x=group, y=weight, fill=group, color=group)) + geom_boxplot()
bp +scale_fill_manual(values=c("#999999", "#E69F00", "#56B4E9"),
name="Experimental\nCondition",
breaks=c("ctrl", "trt1", "trt2"),
labels=c("legend 1", "legend 2", "legend 3")) +
scale_color_manual(values=c("black", "red", "green"),
name="Experimental\nCondition",
breaks=c("ctrl", "trt1", "trt2"),
labels=c("legend 1", "legend 2", "legend 3"))
在这种情况下,我的图例标签是:“图例1”,“图例2”和“图例3”
现在,我想为我的传奇提供相同的标签:“传奇1”(还有三个传奇框)。 所以我的代码是:
bp <- ggplot(data=PlantGrowth, aes(x=group, y=weight, fill=group, color=group)) + geom_boxplot()
bp +scale_fill_manual(values=c("#999999", "#E69F00", "#56B4E9"),
name="Experimental\nCondition",
breaks=c("ctrl", "trt1", "trt2"),
labels=c("legend 1", "legend 1", "legend 1")) +
scale_color_manual(values=c("black", "red", "green"),
name="Experimental\nCondition",
breaks=c("ctrl", "trt1", "trt2"),
labels=c("legend 1", "legend 1", "legend 1"))
但是,显然这不是我想要的,因为从现在开始,我有9个传奇盒子。 因此我的问题是:在这种情况下,我是否可以拥有一个带有三个盒子的图例(每个盒子图每个盒子),但是图例的标签可能是相同的? 另外,为什么ggplot2像这样处理我的代码?
如果你能帮助我,你会帮助我很多! 谢谢你的帮助。 请原谅我的英语错误,实际上我是非本地人。
答案 0 :(得分:1)
我认为,问题出现在ggplot如何将传说结合在一起。如果它们具有相同的标题和标签,则可以将它们组合在一起。我猜测存在合并,当给定重复标签时,有效地创建外连接(所有可能的组合混合)。我不确定是否有正确的方法来解决这个问题,但这是一个有效的黑客:
bp <- ggplot(data=PlantGrowth, aes(x=group, y=weight, fill=group, color=group)) + geom_boxplot()
bp +scale_fill_manual(values=c("#999999", "#E69F00", "#56B4E9"),
name="Experimental\nCondition",
breaks=c("ctrl", "trt1", "trt2"),
labels=c("legend 1", "legend 1 ", "legend 1 ")) +
scale_color_manual(values=c("black", "red", "green"),
name="Experimental\nCondition",
breaks=c("ctrl", "trt1", "trt2"),
labels=c("legend 1", "legend 1 ", "legend 1 "))
所以你的标签不一样,但看起来一样。