一般的に、質問の最初の部分に答えるために、説明しようとしていることに応じて、さまざまな視覚化が意味を持つ場合があります。ネットワークの基本的な説明を取得してみてください: エッジ数、密度、平均。パスの距離、そして、あなたが見ているリレーショナルデータの種類を知ることにおいて、あなたはすでに遠くまで来ています. 上で lukeA が指摘したように、グラフの視覚化における洞察力は、手元のネットワーク データの構造に大きく依存しています。
ビジュアライゼーションは無意味である必要はありませんが、実際に分析を導き出すためではなく、教育的なポイントを証明するために使用することを認めます。最初に、グラフで視覚化したいものを考える必要があります。
何が望ましい洞察を与えるかを決定したら、ノードの色付けは実際に重要な視覚的ツールです。質問の 2 番目の部分については、引数をnetworkD3
使用してノードに色を付ける必要があります。NodeGroup
igraph ではベクトルを に割り当て V(graph)$color
、sna-package では をvertex.col
使用してプロットするときに引数に割り当てますgplot()
。
igraph の A からの距離で色分けされたグラフの例を次に示します。
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)