Другим способом в R является использование plot.igraph
(информацию о параметрах можно найти здесь ).
Ниже вы можете найти рабочий пример (на основе ваших данных):
library(igraph)
data <- read.table(text=
"Item A,Item B,Weight
X,Y,2
X,Z,5
Y,Z,3
Y,W,2", sep=',',header=TRUE)
g <- graph.data.frame(data,directed=TRUE)
vColors <- 'MediumSeaGreen'
vSizes <- 40
vShapes <- 'circle'
vLabels <- V(g)$name
vFontSizes <- 1.5
eColors <- 'blue'
eArrowSizes <- 1
eWidths <- 1
eLabels <- as.character(E(g)$Weight)
eLTypes <- 'dashed'
eFontSizes <- 1.5
plot(g, layout=layout.fruchterman.reingold,
vertex.color=vColors, vertex.size=vSizes, vertex.shape=vShapes,
vertex.label=vLabels, vertex.label.dist=0, vertex.label.cex=vFontSizes,
edge.color=eColors, edge.width=eWidths, edge.arrow.size=eArrowSizes,
edge.label=eLabels, edge.lty=eLTypes, edge.label.cex=eFontSizes)
РЕДАКТИРОВАТЬ:
Точно так же, как в базовой функции R plot()
, вы можете показать легенду, добавив следующеестрока в конце предыдущего кода:
legend(x=-1,c('X - Foo','Y - Bar','Z - Foo2','W - Bar2'))
Пожалуйста, обратитесь к этой документации для получения дополнительной информации.