Играф, как получить пользовательские формы вершины с параметрами -- r поле с участием igraph пол Связанный проблема

igraph, how to get custom vertex shapes with parameters


2
vote

проблема

русский

У меня проблема с пользовательскими формами вершины в R и iGraph. Я могу использовать пример ниже, чтобы определить функцию пользовательской формы с параметрами, но когда я пытаюсь добавить несколько фигур с разными параматами, все они принимают параметры из добавленной последней формы.

Например, код ниже находится из руководства iGrath с дополнительными двумя линиями. Он будет сюжет 7-лучевые звезды, хотя я говорю сюжету использовать «звезду», который имеет Vertex.norays = 3

Кто-нибудь увидит проблему?

 <код> library(igraph)  # all vertex shapes, minus "raster", that might not be available shapes <- setdiff(shapes(), "") g <- make_ring(length(shapes)) set.seed(42) ################################################################# # generic star vertex shape, with a parameter for number of rays mystar <- function(coords, v=NULL, params) {    vertex.color <- params("vertex", "color")    if (length(vertex.color) != 1 && !is.null(v)) {       vertex.color <- vertex.color[v]    }    vertex.size  <- 1/200 * params("vertex", "size")    if (length(vertex.size) != 1 && !is.null(v)) {       vertex.size <- vertex.size[v]    }    norays <- params("vertex", "norays")    if (length(norays) != 1 && !is.null(v)) {       norays <- norays[v]    }     mapply(coords[,1], coords[,2], vertex.color, vertex.size, norays,           FUN=function(x, y, bg, size, nor) {              symbols(x=x, y=y, bg=bg,                      stars=matrix(c(size,size/2), nrow=1, ncol=nor*2),                      add=TRUE, inches=FALSE)           }) } # no clipping, edges will be below the vertices anyway add_shape("star", clip=shape_noclip,           plot=mystar, parameters=list(vertex.norays=3)) # I ADDED THIS ################################################ add_shape("star7", clip=shape_noclip,           plot=mystar, parameters=list(vertex.norays=7))  plot(g, vertex.shape="star", vertex.color=rainbow(vcount(g)),      vertex.size=seq(10,20,length=vcount(g)))   
Английский оригинал

I'm having a problem with custom vertex shapes in R and igraph. I can use the example below to define a custom shape function with parameters, but when I try to add multiple shapes with different params, they all take the params from the last shape added.

For example, the code below is from the igraph manual with an extra two lines. It will plot 7-ray stars, even though I'm telling plot to use "star", which has vertex.norays=3

Anyone see the problem?

library(igraph)  # all vertex shapes, minus "raster", that might not be available shapes <- setdiff(shapes(), "") g <- make_ring(length(shapes)) set.seed(42) ################################################################# # generic star vertex shape, with a parameter for number of rays mystar <- function(coords, v=NULL, params) {    vertex.color <- params("vertex", "color")    if (length(vertex.color) != 1 && !is.null(v)) {       vertex.color <- vertex.color[v]    }    vertex.size  <- 1/200 * params("vertex", "size")    if (length(vertex.size) != 1 && !is.null(v)) {       vertex.size <- vertex.size[v]    }    norays <- params("vertex", "norays")    if (length(norays) != 1 && !is.null(v)) {       norays <- norays[v]    }     mapply(coords[,1], coords[,2], vertex.color, vertex.size, norays,           FUN=function(x, y, bg, size, nor) {              symbols(x=x, y=y, bg=bg,                      stars=matrix(c(size,size/2), nrow=1, ncol=nor*2),                      add=TRUE, inches=FALSE)           }) } # no clipping, edges will be below the vertices anyway add_shape("star", clip=shape_noclip,           plot=mystar, parameters=list(vertex.norays=3)) # I ADDED THIS ################################################ add_shape("star7", clip=shape_noclip,           plot=mystar, parameters=list(vertex.norays=7))  plot(g, vertex.shape="star", vertex.color=rainbow(vcount(g)),      vertex.size=seq(10,20,length=vcount(g))) 
</div
     
     
     

Список ответов

Связанный проблема

2  Package Desolve Package Can Parames включают в себя матрицу?  ( Desolve package can parameters include a matrix ) 
Я пытаюсь кодировать модель Seir, которая является возрастной, стратифицированной; То есть в моих дифференциальных уравнениях у меня есть параметр для массово...

2  Подключите точки на разбросах до двух других наиболее похожих точек, учитывая корреляционную матрицу  ( Connect points on a scatterplot to the two other most similar points given a cor ) 
Я кластерировал несколько очков и вычислял среднее значение каждого кластера в качестве ориентира для этого кластера. Затем я вычислял корреляционную матрицу ...

1  Как избежать проблемы Log-Quartelive Log-Inf в MLE Function из пакета Stat4?  ( How to avoid the inf log likelihood problem in mle function from stat4 package ) 
Я хочу максимизировать функцию вероятности логики, чтобы соответствовать некоторым данным, но функция MLE останавливается с этой ошибкой, когда логическая вер...

4  Как получить обратный CDF (ядро) в R?  ( How to get inverse cdf kernel in r ) 
Есть ли функция в R, которая рассчитает обратное ядро ​​(я рассматриваю нормальный) CDF для определенного альфа (0,1). Я нашел курс, но я не уверен, как это р...

2  Нахождение дубликатовных значений в R  ( Finding duplicate values in r ) 
Так, в строке, содержащей несколько 1 ', Теперь возможно, что номер <код> cmake .. 2 появляется на нескольких позициях, скажем, на нескольких позициях...

1  Замените отсутствующие значения в ячейке со значением из ячейки выше (N-1) с помощью петли  ( Replace missing values in a cell with a value from the cell above n 1 using a ) 
У меня есть файл данных с тысячами строк, у которых есть пробелы, которые я хочу заполнить значением. Мне нужно заменить пустые ячейки со значениями из них вы...

0  Назначьте значение для столбца из другого столбца на основе условия  ( Assign value to a column from another column based on condition ) 
Скажите, что у меня есть такой список: <код> > desired <- c("10001", "10004") и образец кадра данных, как это: <код> > desired_sample_df <- data.frame...

2  Вопросы с установкой пакета Caret of R в Archlinux  ( Issues with installing caret package of r in archlinux ) 
Я пытаюсь установить пакет <код> SCRIPT="""UPDATE IND_AFRO.DRIVER SET Emp_Id = 1000, update_user_id = 'RIBST-4059' WHERE Emp_Id IN (SELECT Emp_Id ...

0  Скрепление финансовых таблиц с веб-страницы с R, Rvest, RCURL  ( Scraping financial tables from web page with r rvest rcurl ) 
Я пробую разбор финансовых таблиц с веб-страницы. Я продолжал. Но я не могу устраивать список, или данные. Карамент <код> library(rvest) link <- "http://www...

99  Как выбрать строку с максимальным значением в каждой группе  ( How to select the row with the maximum value in each group ) 
В наборе данных с несколькими наблюдениями для каждого предмета я хочу взять подмножество только с максимальным значением данных для каждой записи. Например, ...

-2  Лучшая практика кодирования для R Script работает в производстве [Закрыто]  ( Best practise coding for r script running in production ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> закрыт . Этот вопрос должен быть больше Фокусированный . В настоя...

0  Интеллектуальный способ создать сводную таблицу без цикла в R  ( Intelligent way to create summary table without for loop in r ) 
Добрый день, У меня есть кадр данных следующим образом, с временным меттом в первом столбце, как POSIXLT, а значение данных во втором: <код> properties2 ...

0  Hexfile Package R  ( Hexfile package r ) 
Я пытаюсь импортировать файл eviews (.wf1) в <код> R с hexView пакет. код: <код> file = readEViews(hexViewFile("eviewsr.wf1"),as.data.frame = TRUE) ...

2  Сравнение нескольких классификаторов: Nemenyi + Holm Test в R  ( Comparing multiple classifiers nemenyi holm test in r ) 
Я пытаюсь воспроизвести результаты из (1) в виде новичков до R. Таблица 6 - это AUCS из 4 классификатора на 14 наборах данных: <код> auc <- matrix(c( 0.76...

1  Задержка в заявке не работает в R  ( Lag in apply statement doesnt work in r ) 
Я пытаюсь «применить» функцию, которая делает «отставать» на объектах зоопарка в R. Функция работает правильно, если я передаю один вектор зоопарка - это пр...

Связанный проблема

2  Package Desolve Package Can Parames включают в себя матрицу? 
2  Подключите точки на разбросах до двух других наиболее похожих точек, учитывая корреляционную матрицу 
1  Как избежать проблемы Log-Quartelive Log-Inf в MLE Function из пакета Stat4? 
4  Как получить обратный CDF (ядро) в R? 
2  Нахождение дубликатовных значений в R 
1  Замените отсутствующие значения в ячейке со значением из ячейки выше (N-1) с помощью петли 
0  Назначьте значение для столбца из другого столбца на основе условия 
2  Вопросы с установкой пакета Caret of R в Archlinux 
0  Скрепление финансовых таблиц с веб-страницы с R, Rvest, RCURL 
99  Как выбрать строку с максимальным значением в каждой группе 
-2  Лучшая практика кодирования для R Script работает в производстве [Закрыто] 
0  Интеллектуальный способ создать сводную таблицу без цикла в R 
0  Hexfile Package R 
2  Сравнение нескольких классификаторов: Nemenyi + Holm Test в R 
1  Задержка в заявке не работает в R