оси igraph xlim ylim неправильно
если я сделаю графе g
:
g <- read.table(text="
A B W
1 55 3
2 55 5
3 99 6 ",header=TRUE)
library(igraph)
g <- graph.data.frame(g)
и матрица координат:
y<-1:5
x<-c(0.1,0.1,0.2,0.2,0.8)
l<-data.frame(x,y)
l<-as.matrix(l)
Я могу построить график с позициями узлов в соответствии с пользовательскими координатами и осями графика.
plot(g,layout=l,rescale=F,axes=TRUE,ylim=c(0,6),xlim=c(0,1))
но пределы xaxis не работают должным образом, и я думаю, что они изменены пределами yaxis. Как я могу контролировать xaxis так, как я хочу, например, держать его между 0 и 1.
то есть plot(x,y,xlim=c(0,1),ylim=c(0,6))
это жучок? Если это так, и это не может быть решено, есть ли другой пакет, который будет иметь ту же функциональность?
1 ответов
короткий ответ, вам нужно установить asp
аргумент вызова plot to 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
(функция заговоре с