R-Как построить график визуализации сети из Матрицы координат x-y и матрицы смежности?
В программировании R - Как построить график визуализации сети с заданной матрицей X с 2-столбцовой системой координат:
координаты < - matrix(c(0.809,0.588,0.309,0.951,-0.309,0.951,-0.809,0.588,-1,0,-0.809,-0.588,-0.309,-0.951,0.309,-0.951,0.809,-0.588,1,0), ncol=2)
... и квадратичная матрица Y как матрица смежности:
смежность < - matrix(c(0,1,0,0,1,0,1,0,0,1,1,0,1,0,0,1,0,1,0,0,0,1,0,1,0,0,1,0,1,0,0,0,1,0,1,0,0,1,0,1,1,0,0,1,0,1,0,0,1,0,0,1,0,0,1,0,1,0,0,1,1,0,1,0,0,1,0,1,0,0,0,1,0,1,0,0,1,0,1,0,0,0,1,0,1,0,0,1,0,1,1,0,0,1,0,1,0,0,1,0), ncol=10)
К сожалению, я могу использовать только стандартную библиотеку R (ту, которая предварительно установлена), и именно поэтому мне трудно понять это...
Что я уже пробовал:
До сих пор у меня есть этот код, но график, который он создает, довольно "уродлив" и дает мне массу ошибок:
plotGraph <- function(B){ coordinates <- matrix(c(0.809,0.588,0.309,0.951,-0.309,0.951,-0.809,0.588,-1,0,-0.809,-0.588,-0.309,-0.951,0.309,-0.951,0.809,-0.588,1,0), ncol=2) adjacency <- matrix(c(0,1,0,0,1,0,1,0,0,1,1,0,1,0,0,1,0,1,0,0,0,1,0,1,0,0,1,0,1,0,0,0,1,0,1,0,0,1,0,1,1,0,0,1,0,1,0,0,1,0,0,1,0,0,1,0,1,0,0,1,1,0,1,0,0,1,0,1,0,0,0,1,0,1,0,0,1,0,1,0,0,0,1,0,1,0,0,1,0,1,1,0,0,1,0,1,0,0,1,0), ncol=10) plot(coordinates) idx <- which(adjacency>0, arr.ind = T) number = ncol(adjacency) * nrow(adjacency) for(i in 1:number){ arrows(coordinates[idx[i,1],1], coordinates[idx[i,1],2], coordinates[idx[i,2],1], coordinates[idx[i,2],2]) } }