2016-08-01 5 views
1

Я пытаюсь различать визуализации для Igraph в R (версия.3.3.1). В настоящее время моя визуализация показана ниже, 2 узла (синий и зеленый) в круговой макете.igraph расположение полукруг в R

Circular Layout

visNetwork(data$nodes,data$edges) %>% visIgraphLayout(layout="layout_in_circle") 

Теперь я хочу, чтобы иметь полукруглую структуру вместо полного круга, как в ПОС. Все синие узлы образуют полукруг, зеленые узлы - еще один полукруг. Каждый полукруг также разделен на небольшое расстояние. Как я могу это достичь. Я нашел, что пакет grid имеет возможность полукруг, но я не мог заставить его работать с igraph. Укажите несколько указателей.

ответ

1

layout аргумент принимает произвольную матрицу с двумя колоннами и N строк, если ваш график имеет Н вершины; все, что вам нужно сделать, это создать список координат, соответствующих полукругу. Вы можете использовать тот факт, что вершина под углом alpha вокруг круга с радиусом r с центром в (0, 0) находится по адресу (r * cos(alpha), r * sin(alpha)). Поскольку вы используете R, alpha следует указывать в радианах, равномерно распределенных между 0 и pi (что соответствует 180 градусам).