2015-04-28 4 views
1
library(igraph) 
data <- read.csv("ex.txt", sep=" ", header=F) 

данных содержит список краяДобавление нескольких цветов к сети в R

graph <- graph.data.frame(data) 
data1 <- read.csv("ex1.txt", sep=" ", header=F) 

data1 содержит членство идентификаторы вершин

memberships <- list() 
V(g)$membership <- data1$V2 
V(g) [ membership == 0 ]$color <- "red" 
V(g) [ membership == 1 ]$color <- "blue" 
V(g) [ membership == 2 ]$color <- "green" 
V(g) [ membership == 3 ]$color <- "brown" 
V(g) [ membership == 4 ]$color <- "orange" 
V(g) [ membership == 5 ]$color <- "Yellow" 
plot(g, layout=layout.fruchterman.reingold, vertex.color=V(g)$membership , vertex.size = 2,vertex.label = NA) 

Если вы заметили, что цвета не так Ожидается, что есть черный и два варианта синего цвета, о которых не упоминалось.

Plot of the network

Я не могу найти какой-либо другой способ назначения цвета вершин. Пожалуйста, дайте мне несколько вариантов

+0

@lukeA Спасибо за это. Теперь это сработало. Я совершенно неправильно понял сюжет. Есть ли другой способ присвоения цветов вместо написания имени цвета? –

+0

Удостоверьтесь, пожалуйста, прочтите документацию '? Igraph.plotting': _« Если это числовое значение, тогда используется текущая палитра, см. Палитру. Если это вектор символов, он может содержать либо именованные цвета, либо RGB, указанные цвета с тремя или четыре байта. Все строки, начинающиеся с «#», считаются спецификациями цвета RGB. Можно смешивать цвета и цвета RGB. Обратите внимание, что tkplot игнорирует четвертый байт (альфа-канал) в спецификации цвета RGB. "_. Итак, 'palette (topo.colors (12)); plot (g, vertex.color = V (g) $ membership) 'также будет окрасить его. – lukeA

ответ

1

Карта vertex.color в V(g)$color:

library(igraph) 
set.seed(1) 
g <- barabasi.game(100, .3) 
eb <- edge.betweenness.community(g) 
V(g)$membership <- membership(edge.betweenness.community(g)) 
V(g)$color = "black" 
V(g) [ membership == 1 ]$color <- "blue" 
V(g) [ membership == 2 ]$color <- "green" 
V(g) [ membership == 3 ]$color <- "brown" 
V(g) [ membership == 4 ]$color <- "orange" 
V(g) [ membership == 5 ]$color <- "Yellow" 
V(g) [ membership == 6 ]$color <- "red" 
plot(g, layout=layout.fruchterman.reingold, vertex.color=V(g)$color , vertex.size = 2,vertex.label = NA, edge.arrow.size = .3) 
Смежные вопросы