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

How to have "a" removed from a ggraph plot legend?

可以从与例如相关联的图例中删除字母 "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()

geom_text的情况下,show.legend = FALSE解决了,

Remove 'a' from legend when using aesthetics and geom_text

但在 geom_node_label() 中添加 show.legend = FALSE 会完全删除图例。

ggraph中是否有任何解决方案?

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

library(grid)
GeomLabel$draw_key <- function (data, params, size) { draw_key_rect(data) }

如果在geom_node_label中使用了repel = TRUE参数,则除上述之外还需要添加GeomLabelRepel$draw_key <- GeomLabel$draw_key