R语言 绘制多条函数曲线到同一图上
在这篇文章中,我们将讨论如何在R编程语言中把多个函数曲线绘制到同一图中。
方法一:在Base R中
Base R支持一个函数curve(),可用于可视化所需的函数曲线。它支持各种参数,可以根据要求编辑曲线。
语法: curve(expression, to, from, col)
参数
- expression: 要绘制的曲线
- to, from: 曲线绘制的范围
- col: 曲线的颜色
为了在一幅图中画出多条曲线,需要分别创建不同的函数,并为每个曲线函数重复调用 curve() 函数。除了第一个函数外,其他每一个curve()函数的调用都应该添加一个属性设置为TRUE,这样就可以在同一个绘图中添加多条曲线。为了区分,使用了不同的颜色。
例子
function1<- function(x){x ** 2}
function2<-function(x){x ** 3}
function3<-function(x){x / 2}
function4<-function(x){2*(x ** 3)+(x ** 2)-(x / 2)}
curve(function1, col = 1)
curve(function2, col = 2, add = TRUE)
curve(function3, col = 3, add = TRUE)
curve(function4, col = 4, add = TRUE)
输出
方法2:使用GGPLOT
GGPLOT2是一个R库,用于通过其各种易于使用的函数来实现图形的可视化。要使用gglot绘制多条曲线,首先要正常创建函数。但是为了在同一个图中画出它们,这些函数被转换为数据框架,然后进行可视化。
例子
library("ggplot2")
function1<- function(x){x ** 2}
function2<-function(x){x ** 3}
function3<-function(x){x / 2}
function4<-function(x){2*(x ** 3)+(x ** 2)-(x / 2)}
df=data.frame(x = -2 : 2,
values = c(function1(-2 : 2),
function2(-2 : 2),
function3(-2 : 2),
function4(-2 : 2)),
fun = rep(c("function1", "function2",
"function3", "function4"))
)
ggplot(df, aes(x, values, col = fun))+geom_line()
输出