Создание квадратных осей в R
Как я могу использовать R, чтобы оси всегда были квадратными в диаграммах рассеяния? например, в:
> plot(iris)
или
> plot(iris$Petal.Width, iris$Petal.Length)
Я хотел бы, чтобы оси были квадратными, т.е. одинаковые метки длины и метки для осей x и y.
Текущий предложенный ответ не работает: вызов
plot(iris$Petal.Width, iris$Petal.Length, xlim=c(0,10), ylim=c(0,10), asp=1)
Формирует:
![enter image description here]()
который не является квадратным, и не имеет одинаковых галочек и тиков. Промежутки между метками x tick должны быть одинаковыми, а график должен быть квадратным, а не прямоугольным.
Ответы
Ответ 1
Вам нужно также установить pty="s"
в графических параметрах, чтобы сделать квадрат области сюжета (независимо от размера и ограничений устройства):
par(pty="s")
plot(iris$Petal.Width, iris$Petal.Length, asp=1)
lines(2+c(0,1,1,0,0),3+c(0,0,1,1,0)) # confirm square visually
![tall]()
![long]()
Ответ 2
Прежде всего, для меня сюжет уже выходит квадрат (большое изображение). Ясно, что для вас это не так, и вам может потребоваться сделать графики больше, чем на экране.
Таким образом, размер графика контролируется размером области вывода, то есть окном графика, файлом изображения или чем-то еще. Используя Rstudio, вы можете использовать встроенный графический интерфейс для указания размера графика. Если вы настаиваете на использовании базовой консоли R, вам необходимо вручную выполнить экспорт. Сначала откройте файл:
png("image.png", width=600, height=600)
Это откроет файл изображения в рабочем каталоге с равными пропорциями. Теперь сюжет:
x = iris$Petal.Width
y = iris$Petal.Length
all = c(x,y)
range = c(min(all), max(all))
plot(x, y, xlim=range, ylim=range)
И закройте файл:
dev.off()
Результат:
![enter image description here]()