Чтобы ответить в целом на в первой части вопроса, различные визуализации могут иметь смысл в зависимости от того, что вы пытаетесь проиллюстрировать. Попытайтесь получить базовые описания для сети: Edge-count, плотность, avg. и вы уже далеко зашли, зная, какие реляционные данные вы просматриваете. Как отметил LukeA выше, проницательность в визуализации графа очень зависит от структуры данных сети!
Визуализации не должны быть бессмысленными, но я бы согласился использовать их скорее для того, чтобы доказать педагогическую точку, чем на самом деле получить какой-либо анализ от них, вы должны сначала подумать о том, что вы хотите визуализировать в грифе.
Когда вы решили, что даст желаемое представление, окрашивая узлы является одним из ключевого визуального инструмента действительно: Что касается второй части вопроса, в networkD3
вы должны использовать NodeGroup
аргумент цветовых узлов. В igraph вы назначаете вектор V(graph)$color
, а в sna-пакете - аргумент vertex.col
при построении с использованием gplot()
.
Вот ваш пример графа окрашена расстояния от A в igraph:
Source <- c("A", "A", "A", "A", "B", "B", "C", "C", "D")
Target <- c("B", "C", "D", "J", "E", "F", "G", "H", "I")
NetworkData <- data.frame(Source, Target)
# Visualize using igraph
library(igraph)
g <- graph_from_edgelist(as.matrix(NetworkData), directed = TRUE)
# Colour by distance from first node:
heatmap <- colorRampPalette(c("red", "yellow"))(100)
distance.from.first.node <- distances(g, V(g)[1])
V(g)$color <- heatmap[1+round(distance.from.first.node/(max(distance.from.first.node)/(length(heatmap)-1)))]
# Plot
plot.igraph(g)
Я не могу думать о каких-либо точек, чтобы сделать из построения данных вы предоставили, но если вам нужно, вот это:
# Get the data you downloaded vvv(MAKE YOUR OWN PATH HERE)vvv
data <- read.csv(file="Downloads/Network.txt", sep="|")
# Remove your missing data
data <- data[data[,1]!="",]
data <- data[data[,2]!="",]
g2 <- graph_from_edgelist(as.matrix(data), directed = TRUE)
# Re-colour and plot:
distance.from.first.node <- distances(g2, V(g2)[1])
V(g2)$color <- heatmap[1+round(distance.from.first.node/(max(distance.from.first.node)/(length(heatmap)-1)))]
# Plot with smaller vertexes and no labels
plot.igraph(g2, vertex.size=4, vertex.label=NA)
Что вы ожидаете от проницательной визуализации для этого набора данных? Я имею в виду, с быстрого взгляда, кажется, есть только соединения от/до узла '435.9', которые, таким образом, становятся« центром вселенной », – lukeA