2017-11-23 36 views
3

月に依存してノードの色を変更しようとしています。現時点では、私はそれをすべて簡潔ではなく、大きなデータセットではうまくいかないようにしました。それを行う良い方法はありますか?ノードの色を変更するにはどうすればいいですか?

Data <- read.csv(.....) 

library(igraph) 

MartixData <- as.matrix(Data) 

NetworkData <- graph.adjacency(MatrixData, mode="directed", weighted=TRUE) 

V(NetworkData) 

V(NetworkData)$month <- c("June", "July", "July", "February", "September", "June", "September", "June", "December", "September", "March", "April", "September") 

plot(NetworkData, layout=layout.circle, vertex.color=c("yellow", "red", "red", "blue", "pink","yellow", "pink", "yellow", "gray", "pink", "black", "orange", "pink")) 

ご協力いただければ幸いです。

#Results for dput(NetworkData) 
structure(list(13, TRUE, 
    c(0, 1, 1, 2, 5, 6, 7, 7, 8, 9, 10, 10, 12, 12, 12, 12, 12), 
    c(11, 4, 12, 0, 12, 1, 6, 12, 1, 4, 9, 12, 1, 5, 7, 10, 11), 
    c(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16), 
    c(3, 5, 8, 12, 1, 9, 13, 6, 14, 10, 15, 0, 16, 2, 4, 7, 11), 
    c(0, 1, 3, 4, 4, 4, 5, 6, 8, 9, 10, 12, 12, 17), 
    c(0, 1, 4, 4, 4, 6, 7, 8, 9, 9, 10, 11, 13, 17), 
    list(c(1, 0, 1), structure(list(), .Names = character(0)), 
structure(list(name = c("A", "B", "C", "D", "E", "F", 
    "G", "H", "I", "J", "K", "L", "M"), month = c("June", 
    "July", "July", "February", "September", "June", "September", 
    "June", "December", "September", "March", "April", "September" 
    )), .Names = c("name", "month")), structure(list(weight = c(6, 
    6, 7, 6, 7, 6, 6, 7, 7, 7, 6, 7, 7, 7, 7, 7, 7)), .Names = "weight"))), class = "igraph") 

答えて

1

カラーのルックアップ辞書を使用して頂点カラーに割り当てます。

myCols <- setNames(c("yellow", "red", "blue", "pink", "gray", "black", "orange"), 
        c("June", "July", "February", "September", "December", "March", "April")) 

# assign a colour for vertex 
V(NetworkData)$color <- myCols[V(NetworkData)$month] 

# then plot, no need to use "vertex.color=" 
plot(NetworkData, layout = layout.circle) 

enter image description here

関連する問題