Объединение графиков с нормализацией оси

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

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

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


person user236215    schedule 28.08.2010    source источник


Ответы (2)


Использование 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 из пакета решетки или пакета ggplot2 для построения нескольких графиков за один шаг.

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

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

person Greg Snow    schedule 28.08.2010

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

person Joshua Ulrich    schedule 28.08.2010