Делаем график более понятным

У меня есть ориентированный граф с 69 вершинами, показанный ниже. Он был построен с использованием пакета igraph:

library(igraph)
ig <- graph.adjacency(data, mode="directed", weighted=TRUE) 
plot(ig)

Я хочу достичь следующих двух вещей:

(a) Разместите вершины и, возможно, удлините края, чтобы было легче читать

(б) На самом деле мои ярлыки длиннее. Можно ли сделать вершину больше, а текст - меньше, чтобы учесть это.

Любые идеи?

Вот мои данные: https://www.dropbox.com/s/rtedrd1x1duqllj/data.Rdata?dl=0

igraph


person user2846211    schedule 06.10.2014    source источник
comment
Вы пробовали какие-либо другие варианты компоновки графиков?   -  person Spacedman    schedule 06.10.2014
comment
Какие из них вы бы порекомендовали для чего-то подобного?   -  person user2846211    schedule 06.10.2014
comment
Не могу сказать без ваших данных. Всего 12 функций layout. * В igraph. У некоторых есть параметры, с которыми можно поиграть.   -  person Spacedman    schedule 06.10.2014
comment
Вы хоть документацию читать пробовали? Руководство igraph чрезвычайно подробное и удобочитаемое: igraph.org/r/doc/plot.common. html   -  person shadowtalker    schedule 06.10.2014
comment
Прочитали документацию, но все еще не знаете, как еще развести график ?? Поможет ли удаление пустого места с помощью команды поля?   -  person user2846211    schedule 06.10.2014
comment
Вам необходимо предоставить свои данные. Загрузите его куда-нибудь (Dropbox, может ??) и укажите ссылку в своем вопросе.   -  person jlhoward    schedule 06.10.2014
comment
Спасибо за подсказку, предоставили ссылку на мой файл данных   -  person user2846211    schedule 06.10.2014


Ответы (1)


Все параметры, безусловно, легко настраиваются. Я заменил имена состояний для ваших меток вершин:

# this ensures the starting random position is the same
# for the layouts that use a random starting position
set.seed(1492) 

l <- layout.fruchterman.reingold(ig, niter=5000, area=vcount(ig)^4*10)

plot(ig, layout=l, 
     edge.arrow.size=0.5, 
     vertex.label.cex=0.75, 
     vertex.label.family="Helvetica",
     vertex.label.font=2,
     vertex.shape="circle", 
     vertex.size=1, 
     vertex.label.color="black", 
     edge.width=0.5)

введите описание изображения здесь

Вы должны потратить некоторое время, чтобы прочитать help("igraph.plotting") & help("layout")

person hrbrmstr    schedule 06.10.2014
comment
Большое спасибо, это великолепно! - person user2846211; 10.10.2014
comment
@hrbrmstr: Извините за эту старую тему, но, поскольку версия 0.8 igraph устарела, а затем был удален атрибут area, который, я полагаю, позволял увеличить пространство между узлами (?). Вы знаете какую-нибудь замену для area? - person iNyar; 12.05.2017