9

可以从网络图中与 afillcolour美学相关的图例中删除字母“a” 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_textshow.legend = FALSE解决它,

使用美学和 geom_text 时从图例中删除“a”

但添加show.legend = FALSEinside geom_node_label(),完全删除了图例。

有什么解决方案ggraph吗?

4

1 回答 1

2

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

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

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

于 2018-05-01T13:13:19.013 回答