我怎样才能从这个代码生成的图例中删除字母'a'?如果我删除geom_text
,那么'a'字母将不会显示在图例中。但是我想保留geom_text
。
ggplot(data = iris, aes(x = Sepal.Length, y=Sepal.Width,
shape = Species, colour = Species)) +
geom_point() +
geom_text(aes(label = Species))
7条答案
按热度按时间daolsyd01#
在
geom_text
中设置show.legend = FALSE
:参数
show_guide
在ggplot2 2.0.0
(see release news)中将名称更改为show.legend
。前-
ggplot2 2.0.0
:使用
show_guide = FALSE
,就像这样...4c8rllxm2#
我们可以使用
guide_legend(override.aes = aes(...))
来隐藏图例中的'a'。下面是一个简短的示例,说明如何使用guide_legend()
创建于2019-04-29由reprex package(v0.2.1)
mjqavswn3#
我有一个similar problem。Simon的解决方案对我有效,但需要一个轻微的扭曲。我没有意识到我需要在geom_text的参数中添加**“show_guide = F”,而不是用它来替换现有的参数--这就是Simon的解决方案所展示的。对于像我这样的ggplot 2新手来说,这并不是那么明显。一个合适的例子应该使用OP'的代码,只是添加了缺少的参数,如下所示:
vnzz0bqm4#
就像尼克说的
下面的代码仍然会产生错误:
鉴于:
在aes参数之外消除图例上的a
1mrurvl15#
我遇到了类似的问题,在我试图用
geom_text_repel
标记的不同颜色的点后面出现了一个'a'。为了删除'a',以便它只显示后面没有'a'的点,我必须在geom_text_repel
中添加show.legend=FALSE
作为参数。希望这对任何可能正在为同样的问题而努力的人都有意义!
nnt7mjpx6#
您还可以在
geom_label_repel()
的参数中使用show.legend = FALSE
来删除图例中的“a”。你能做的
nnvyjq4y7#
如果你只想让
geom_text()
可见,但为了图例的目的,你可以将alpha设置为0,使其不可见,但在辅助线中将其覆盖为1,以强制显示geom_point()
。