Как накладывать графики в R (с примерами)


Вы можете использовать функции lines() и points() для наложения нескольких графиков в R:

#create scatterplot of x1 vs. y1
plot(x1, y1)

#overlay line plot of x2 vs. y2
lines(x2, y2)

#overlay scatterplot of x3 vs. y3
points(x2, y2)

В следующих примерах показано, как использовать каждую из этих функций на практике.

Пример 1: Как наложить линейные графики в R

В следующем коде показано, как наложить три линейных графика на один график в R:

#define datasets
x1 = c(1, 3, 6, 8, 10)
y1 = c(7, 12, 16, 19, 25)

x2 = c(1, 3, 5, 7, 10)
y2 = c(9, 15, 18, 17, 20)

x3 = c(1, 2, 3, 5, 10)
y3 = c(5, 6, 7, 15, 18)

#create line plot of x1 vs. y1
plot(x1, y1, type='l', col='red')

#overlay line plot of x2 vs. y2
lines(x2, y2, col='blue')

#overlay line plot of x3 vs. y3
lines(x3, y3, col='purple')

#add legend
legend(1, 25, legend=c('Line 1', 'Line 2', 'Line 3'),
 col=c('red', 'blue', 'purple'), lty= 1 ) 

Пример 2: Как наложить диаграммы рассеяния в R

В следующем коде показано, как наложить две диаграммы рассеяния на один график в R:

#define datasets
x1 = c(1, 3, 6, 8, 10)
y1 = c(7, 12, 16, 19, 25)

x2 = c(1, 3, 5, 7, 10)
y2 = c(9, 15, 18, 17, 20)

#create scatterplot of x1 vs. y1
plot(x1, y1, col='red', pch= 19 )

#overlay scatterplot of x2 vs. y2
points(x2, y2, col='blue', pch= 19 )

#add legend
legend(1, 25, legend=c('Data 1', 'Data 2'), pch=c(19, 19), col=c('red', 'blue'))

Обратите внимание, что аргумент pch определяет форму точек на графике. Значение pch, равное 19, указывает закрашенный кружок.

Вы можете найти полный список значений pch и соответствующих им форм здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные функции построения графиков в R:

Как построить несколько блочных диаграмм на одной диаграмме в R
Как построить несколько линий на одном графике в R