在我的带有2个图例(一个用于形状,一个用于颜色)的情节中,我的老板发现令人困惑的是,颜色图例已经选择了其中一个形状。一个例子:
a <- data.frame(name = c("A","B","C","D"),
type = c("dog","dog", "cat", "cat"),
location = c("house", "house", "house", "garden"),
count = c(3,1,5,8))
ggplot(a, aes(x=name, y=count, color=location, shape=type)) +
geom_point(size=7)
产生以下内容:
在此示例中,“位置”图例通过显示彩色圆圈来解释颜色(但圆圈也表示猫,这显然令人困惑)。如何强制“位置”图例只显示颜色,而不是形状?也许显示位置为红色和蓝色矩形将是理想的。
答案 0 :(得分:4)
您可以使用函数guides()
和override.aes=
将颜色图例的形状更改为矩形。然后,您可以从图例键中删除背景,以便使用theme()
更好地查看。
ggplot(a, aes(x=name, y=count, color=location, shape=type)) +
geom_point(size=7)+
guides(color=guide_legend(override.aes=list(shape=15)))+
theme(legend.key=element_blank())
答案 1 :(得分:1)
要删除形状图例,您可以执行以下操作:
ggplot(a, aes(x=name, y=count, color=location, shape=type)) + geom_point(size=7) + guides(shape=FALSE)
这会删除形状图例,但我不确定是否要更改颜色图例中的形状。