如何从ggraph图例中删除"a"?

Ale*_*iou 9 r ggplot2 ggraph

字母"a"是否可以从网络图中与例如a fillcolour美学相关联的图例中删除ggraph,如下面的简单示例中所示?

library(igraph)
library(ggraph)

g1 <- make_ring(6)
vertex_attr(g1) <- list(name = LETTERS[1:6],  type =rep(c("typeA", "typeB", "typeC"), 2))

ggraph(g1) + geom_node_label(aes(label = name, fill = type)) + 
  geom_edge_diagonal() + theme_graph()
Run Code Online (Sandbox Code Playgroud)

在这种情况下geom_text,show.legend = FALSE解决它,

使用美学和geom_text时,从图例中删除"a"

但添加show.legend = FALSE内部geom_node_label(),完全删除图例.

这有什么解决方案ggraph吗?

Ale*_*iou 2

根据上面的评论回答原始问题:必须根据 @user20650 解决方案将以下代码行添加到脚本顶部。

library(grid)
GeomLabel$draw_key <- function (data, params, size) { draw_key_rect(data) }
Run Code Online (Sandbox Code Playgroud)

如果repel = TRUE里面使用了argument geom_node_label,那么除了上面的内容之外GeomLabelRepel$draw_key <- GeomLabel$draw_key还需要添加。