Короткий ответ, вы должны установить asp
аргумент вызова для построения в 0
, как по умолчанию asp = 1
которое производит поведение, которое вы видите (то есть, это не ошибка, это особенность). Далее следует длинный ответ с объяснением.
Как вы правильно заметили, xaxis
варьируется в зависимости от yaxis
. В частности, ось й имеет approxamitely такое же расстояние между высокими и низкими числами как yaxis
:
- Если
yaxis = c(0,6)
, ось й идет от -3 до 4. 6 - 0 = 6
и 4 - (-3) = 7
- Если
yaxis = c(0,3)
, х -axis идет от -1 до 2. 3 - 0 = 2 - (-1) = 3
Igraph, похоже, поддерживает постоянное соотношение между осями.
Если вы звоните ?plot.igraph
(функция построения графиков, называемый с igraph
объекта, также может быть найден через help(package = "igraph")
), вы найдете под See Also
:
igraph.plotting
для подробного описания планировавших параметров
И если вы нажмете на эту ссылку (или позвоните по номеру ?igraph.plotting
) и перейдите по параметрам, вы найдете:
asp
Числовая константа, она дает параметр asp для графика, соотношение сторон. Поставьте 0 здесь, если вы не хотите давать соотношение сторон.
Он игнорируется tkplot и rglplot.
По умолчанию 1.
Следовательно, параметр аспект asp
по умолчанию 1
в igraph.Если вы хотите другое отношение, установите его в 0
:
plot(g,layout=l,rescale=F,axes=TRUE,ylim=c(0,6),xlim=c(0,1), asp = 0)
Это ответ на ваш вопрос. Однако обратите внимание, что очки сейчас довольно большие. Вы, вероятно, захотите поиграться со следующими параметрами (найденных на ?igraph.plotting
, но обратите внимание, что многие из параметров должны быть приставкой vertex.
, как это сделано мною):
vertex.size
По умолчанию 15, 5 кажется лучше
vertex.label.cex
По умолчанию 1, 0.8 кажется лучше.
Следующая производит более хороший сюжет:
plot(g,layout=l,rescale=F,axes=TRUE,ylim=c(0,6),xlim=c(0,1), asp = 0, vertex.size = 5, vertex.label.cex = 0.8)