Я хочу создать сетевой участок дуги. Моя проблема в том, что дуги правильны, как и порядок узлов. Однако размер узлов (градусов) и цветов заливки и границы (vfill, vborder) не соответствует атрибутам вершин.R: Атрибуты вершины не соответствуют именам вершин в графике дуги
Мой файл .gml можно загрузить по адресу https://dl.dropboxusercontent.com/u/42761499/myarc.gml
Код:
library(igraph)
library(arcdiagram)
dat.g2 = read.graph("myarc.gml", format = "gml")
vlabels<-get.vertex.attribute(dat.g2, "name")
vfill<-get.vertex.attribute(dat.g2, "vfill")
vborder<-get.vertex.attribute(dat.g2, "vborder")
vgroups<-get.vertex.attribute(dat.g2, "group")
degrees<-get.vertex.attribute(dat.g2,"degree")
edgelist<-get.edgelist(dat.g2)
values<-as.numeric(get.edge.attribute(dat.g2, "value"))
par(mai=c(2.25,.25,.25,.25))
arc.p<-arcplot(edgelist, cex.labels = 0.8,
ordering = vlabels,
show.nodes = TRUE,
col.nodes = vborder,
bg.nodes = vfill,
cex.nodes = sqrt(degrees)/20,
pch.nodes = 21,
lwd.nodes = 2,
line = 0.3,
col.arcs = hsv(0, 0, 0.1, 0.4),
lwd.arcs = sqrt(values)/2,
horizontal=TRUE,
axes=FALSE)
В сюжете цвета и размеры узла иногда неправильно. «Другая жалоба» должна быть фиолетовой и CHPAIN желтой. Размеры по крайней мере CHPAIN и CARDOTH ошибочны (CHPAIN больше, чем CARDOTH, см. Myarc.gml). Я думаю, проблема в том, что в списке краев имя каждого узла сначала отображается в несколько ином порядке, чем порядок вершин. По порядку списка краев я имею в виду первый уникальный вид имени узла, когда вы просматриваете строку, затем вниз по столбцу. iethe первые 5 строк списка края гласит:
- от
- 1 боль в груди, Мичиган, Калифорния, В. Ф. А. Ф.
- 2 Боли в груди, Мичиган, Калифорния, В.Ф. обмороки
- 3 Грудь Боль, MI, CA, В.Ф. SOB
- 4 Chest Pain, MI, CA, В.Ф. CHPAIN
- 5 Chest Pain, MI, CA, В. Ф. CARDOTH
так е dge list order - «Боль в грудной клетке, MI, CA, VF», «AF», «Syncope», «SOB», «CHPAIN», «CARDOTH» ... Порядок вершин: «Боль в груди, MI, CA, VF "," AF "," Syncope "," SOB "," Другие жалобы "," CHPAIN "...
Как получить атрибуты вершин (vfill, vborder, degrees) для соответствия вершине имена на графике?
Параметр 'arcdiagram' пакет здесь: https://github.com/gastonstat/arcdiagram В случае, если кто-то спрашивает .... –