使用ggraph绘制双图共现时出现问题,某些线不';我没有出现

使用ggraph绘制双图共现时出现问题,某些线不';我没有出现,r,ggplot2,ggraph,R,Ggplot2,Ggraph,我正试图以这样的方式描绘bigrams(来自)的共同出现: 或者像这样: 但是按照书中给出的代码,我的情节缺少了很多线条和颜色。不确定是因为我错过了一些重要的步骤,还是因为我错过了某些程序包 下面是一个更简单的示例: library(dplyr) library(ggplot2) library(igraph) library(ggraph) terms <- sample(letters[1:10],50,replace=T) count <- sample(1:50,25,

我正试图以这样的方式描绘bigrams(来自)的共同出现:

或者像这样:

但是按照书中给出的代码,我的情节缺少了很多线条和颜色。不确定是因为我错过了一些重要的步骤,还是因为我错过了某些程序包

下面是一个更简单的示例:

library(dplyr)
library(ggplot2)
library(igraph)
library(ggraph)

terms <- sample(letters[1:10],50,replace=T)
count <- sample(1:50,25,replace=T)

bigrams <- data_frame(term1=terms[1:25],term2=terms[26:50],occur=count) %>%
  arrange(desc(occur)) %>%
  graph_from_data_frame()

a <- grid::arrow(type = "closed", length = unit(.15, "inches"))

好吧,这很有趣,但是删除
主题\u void()
解决了所有问题。我想这本书写完后会有不同的效果。但是,第二个图表中的图例仍然没有显示,因此仍然存在一些错误:


我发现ggraph软件包很不错,但有一些问题。对我来说,如果你在RStudio中放大绘图,你的代码可以工作。
但是,我建议您使用一些小的MOD,它们可以在不缩放的情况下生成绘图:

ggraph(bigrams, layout = "fr") +
  geom_edge_link(aes(width = occur),          # seems the alpha creates problem with legend
                 colour = "cyan4") +
  geom_node_point(size = 5) +
  scale_edge_width(range = c(0.2, 2)) +       # rescale the edges
  geom_node_text(aes(label = name), repel = TRUE, point.padding = unit(0.2, "lines"))+
 theme_graph()                                # made for graph

如果你想要alpha,你可以试试这个,但我注意到你看到的图例只在RStudio中放大:


数据与您的数据相同,但使用的是
set.seed(1)

ggraph(bigrams, layout = "fr") +
  geom_edge_link(aes(edge_alpha = occur, edge_width = occur), edge_colour = "cyan4") +
  geom_node_point(size = 5) +
  geom_node_text(aes(label = name), repel = TRUE, 
                 point.padding = unit(0.2, "lines")) +
  theme_void()
ggraph(bigrams, layout = "fr") +
  geom_edge_link(aes(width = occur),          # seems the alpha creates problem with legend
                 colour = "cyan4") +
  geom_node_point(size = 5) +
  scale_edge_width(range = c(0.2, 2)) +       # rescale the edges
  geom_node_text(aes(label = name), repel = TRUE, point.padding = unit(0.2, "lines"))+
 theme_graph()                                # made for graph