Я пытаюсь нанести совместное вхождение биграмм (из Text Mining with R ) так:
Или вот так:
Но, следуя в точности тем же кодам, что и в книге, мои графики пропускают большую часть линий и цветов.Не уверен, что это потому, что я пропустил некоторые важные шаги или пропустил некоторые пакеты.
Ниже приведена более простая версия для иллюстрации:
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"))
И я получаю графикиэто просто неправильно (даже легенда не отображается должным образом):
ggraph(bigrams, layout = "fr") +
geom_edge_link(aes(edge_alpha = occur), show.legend = FALSE,
arrow = a, end_cap = circle(.07, 'inches')) +
geom_node_point(color = "lightblue", size = 5) +
geom_node_text(aes(label = name), vjust = 1, hjust = 1) +
theme_void()
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()
Хорошо, это смешно, но удаление theme_void()
решает все.Я предполагаю, что это делает что-то другое, когда книга написана.Однако легенда на втором графике по-прежнему не отображается, поэтому что-то не так: