Я пытаюсь сделать сетевой график, используя 100 узлов, которые я произвольно генерирую из своей функции.R: сетевой график
genNodes = function(n){
numKeep <- 0
i = numKeep
x <- vector(mode = "numeric", length = 0)
y <- vector(mode = "numeric", length = 0)
while(i < n){
newx = runif(n = 7*n, min = 0, max = 100)
newy = runif(n = 7*n, min = 0, max = 100)
newz = runif(n = 7*n, min = 0, max = 4)
RangeZ = nodeDensity(newx, newy)
newx = newx[newz <= RangeZ]
newy = newy[newz <= RangeZ]
x = c(x, newx)
y = c(y, newy)
i = length(x)
}
x <- x[1:n]
y <- y[1:n]
return(cbind(x, y))
}
Каждый узел здесь, в регионе (0,100). То, что я пытаюсь сделать, это сделать диаграмму рассеянности этих узлов (я знаю, что могу использовать ggplot с geom_point). Но я также пытаюсь превратить этот график рассеяния в сетчатый график и по-прежнему сохранять исходный график рассеяния, что означает, что я хочу добавить ребра к исходной диаграмме рассеяния, и я хочу сохранить масштаб оси x и y. Я пытался использовать ggnet2 и ggnetwork, но они не могут сохранить исходную диаграмму рассеяния (или, может быть, я просто не знаю, как правильно их использовать).
Для простоты (в случае, если в сети имеется только 3node), предоставляется следующая информация.
• Узлов: x = c(1, 2, 3) y = c(5, 5, 2)
• матрица перехода (используется, чтобы определить, есть ли ребро между двумя узлами):
tranR3.5 = matrix(c(1/2, 1/2, 0, 1/3, 1/3, 1/3, 0, 1/2, 1/2), byrow = TRUE, nrow = 3)
Может кто-нибудь помочь мне в этом? Спасибо
да, мы должны сделать это в ggplot ... –
Есть ли у вас какое-либо представление о том, как это сделать в ggnet2 или ggnetwork –
, и я пробовал код, который вы здесь помещаете, он по-прежнему не показывает ось x и ось y. –