макет, маржинальные проблемы с визуализацией сети в R с использованием igraph и сетевых пакетов - PullRequest
0 голосов
/ 10 января 2020

Я пытаюсь визуализировать одну большую сеть в R с помощью сетевого пакета, после нахождения алгоритма optimus (fruchtermanreingold) и изменения некоторых его параметров (вы можете увидеть его ниже в layout.par), я обнаружил, что он всегда отображается больше, чем поля (сеть обрезана), после изменения параметров полей RI обнаружил, что результат всегда один и тот же, я не уверен, что это можно решить путем изменения параметров дисплея или это проблема параметров, которые я дал алгоритм компоновки. (Я не могу загружать изображения, но вы можете представить себе круговую сеть с обрезанными сторонами, чтобы вы никогда не видели весь круг)

ig <- graph.data.frame(network_input, directed = TRUE, vertices = vertix)
kin_net <- asNetwork(ig)
size       <- network.size(kin_net)
layout.par <- list(niter              = size * 100,
                   area               = size^1.8,
                   repulse.rad        = size^1.5,
                   ncell              = size^3)
plot(kin_net,  
     vertex.col = ifelse(get.vertex.attribute(kin_net, 'label') == 'Kinase', "#74D055", "#39558C"), 
     vertex.border = "white", 
     vertex.cex = 2,
     edge.col = ifelse(get.edge.attribute(kin_net, 'Origin') == 'PSP', "#440154", ifelse(get.edge.attribute(kin_net, 'Origin') == 'PSPh', '#56C667', ifelse(get.edge.attribute(kin_net, 'Origin') == 'NWK', '#39558C', "#FDE725"))), 
     edge.lwd = get.edge.attribute(kin_net, 'MS.MS.Count')/10 , 
     label = get.vertex.attribute(kin_net, "labelid"),
     usearrows     = TRUE,
     usecurve      = TRUE,
     edge.curve = .005,
     edge.steps    = 50,
     label.pos = 5, # center the label 
     label.col = "black",
     label.cex = 0.4, pad = -3, coord = network.layout.fruchtermanreingold(kin_net, layout.par))
title(main = "Adjusted network plot", line = -2, cex.main = 0.9)

В результате я получаю это изображение:

output image

...