geom_line
для ggplot2
, который представляет собой совершенно другую систему печати.
Если вы начнете с plot()
, вы можете использовать lines()
для рисования линий на вашем текущем графике. Ваши линии довольно близко друг к другу, поэтому здесь это не имеет большого значения, но с базой plot
вы обычно хотите заранее рассчитать максимальный диапазон, чтобы вы могли настроить окно графика с самого начала:
x = 1:1000
y1 = f1(x)
y2 = f2(x)
y3 = f3(x)
y_range = range(c(y1, y2, y3))
plot(x, y1, ylim = y_range, type="l", xlab="x", ylab="y", main="the plot :)", col = "red")
lines(x, y2, col = "blue")
lines(x, y3, col = "chartreuse")
ggplot2
предназначен для работы с данными во фреймах данных - особенно с фреймами данных длинного формата. Вот как мы можем подойти к проблеме с ggplot
. (Обратите внимание, что, в отличие от вышеизложенного, ggplot
вычисляет пределы сюжета и автоматически создает красивую легенду.)
library(ggplot2)
dd = data.frame(x, y1, y2, y3)
d_long = reshape2::melt(data = dd, id.vars = "x", variable.name = "fun", value.name = "y")
ggplot(d_long, aes(x = x, y = y, color = fun)) +
geom_line()