ggplot-在一张图上绘制几个sin函数

时间:2020-02-11 22:33:57

标签: r ggplot2 plot

我想以图形方式显示两个不同的正弦曲线的总和。 因此,我试图制作一个显示两个不同的sin函数及其和的图。因此,一张图上有三条曲线。

我该如何使用ggplot图层?

我正在捍卫两个罪恶功能(y和z)

x <- seq(0, 16*pi, 0.01)
y <- 2*sin(3*(x-1))
z <- sin(x)

总结两条曲线:

t <- y + z

我可以分别看到这三个:

plot(x,y,type="l")
plot(x,z,type="l")
plot(x,t,type="l")

但是我该如何绘制这三个函数?

我试过了,但是没用

ggplot(x,
       qplot(y,x,geom="path", xlab="time", ylab="Sine wave") +
       qplot(z,x,geom="path", xlab="time", ylab="Sine wave"))

1 个答案:

答案 0 :(得分:2)

将所有内容存储在data.frame中,从宽到长整形并绘制:

library(tidyverse)
data.frame(x = x, y = y, z = z, t = y + z) %>%
    pivot_longer(-x) %>%
    ggplot(aes(x, value, colour = name)) +
    geom_line()

enter image description here


样本数据

x <- seq(0, 16*pi, 0.01)
y <- 2*sin(3*(x-1))
z <- sin(x)