Короткий ответ: вам нужно установить аргумент asp
вызова для построения графика на 0
, поскольку по умолчанию используется значение asp = 1
, которое создает поведение, которое вы видите (т. Е. Это не ошибка, это функция). Далее следует длинный ответ с объяснением.
Как вы правильно заметили, xaxis
меняется в зависимости от yaxis
. В частности, ось X имеет примерно такое же расстояние между старшими и младшими числами, как yaxis
:
- Если
yaxis = c(0,6)
, ось x идет от -3 до 4. 6 - 0 = 6
и 4 - (-3) = 7
- Если
yaxis = c(0,3)
, ось x идет от -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)
![более приятный сюжет](https://i.stack.imgur.com/z7W99.jpg)
person
Henrik
schedule
03.07.2012