Объединить графики с нормализацией оси - PullRequest
4 голосов
/ 28 августа 2010

Я использую par(new=T) перед каждым из моих графиков, чтобы добавить свой график к тому же графику.

Однако, когда я делаю это, он накладывает два графика, и значения осей перезаписываются друг на друга и выглядятперепутано.

Как правильно добавить график к тому же графику, который также нормализует интервалы осей на основе двух графиков?

Ответы [ 2 ]

3 голосов
/ 28 августа 2010

Использование par (new = TRUE) должно быть сохранено как последнее средство, обычно есть лучший / более простой способ.При создании исходного графика установите xlim и ylim так, чтобы в них было достаточно места для всех переменных, которые вы будете рисовать, а затем используйте функции, такие как линии, точки, символы или другие, чтобы добавить дополнительную информацию: например:

plot(x1,y1, xlim=range(x1,x2,x3), ylim=range(y1,y2,y3))
points(x2,y2, col='blue')
points(x3,y3, col='red')

Существует также функция matplot, которая может отображать несколько линий или наборов точек в одной команде.

Еще лучше объединить наборы данных, а затем использовать xyplot из пакета lattice или пакета ggplot2 для выполнениянесколько графиков за один шаг.

В пакете plotrix также есть несколько функций для объединения графиков (с различными масштабами в качестве опции).

Если вам действительно нужно использовать par (new =TRUE), затем просто укажите xlim и ylim в каждой функции построения графика, чтобы они выстроились в линию.Вы также можете подавить построение осей по умолчанию, указав axes = FALSE или xaxt = 'n', yaxt = 'n', затем, при желании, вы можете использовать функцию оси для размещения осей на других сторонах и можете указатьименно там, где вы хотите, отметки и метки.

2 голосов
/ 28 августа 2010

Попробуйте ?lines, ?points, ?abline или ?plot.xy.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...