用R语言绘制函数曲线图

函数曲线图是研究函数的重要工具。
R 中 curve() 函数可以绘制函数的图像,代码格式如下:

curve(expr, from = NULL, to = NULL, n = 101, add = FALSE,
   type = "l", xname = "x", xlab = xname, ylab = NULL,
   log = NULL, xlim = NULL, …)

# S3 函数的方法
plot(x, y = 0, to = 1, from = y, xlim = NULL, ylab = NULL, …)

注:R 语言的类有 S3 类和 S4 类,S3 类用的比较广,创建简单粗糙但是灵活,而 S4 类比较精细。

参数:

  • expr:函数表达式
  • from 和 to:绘图的起止范围
  • n:一个整数值,表示 x 取值的数量
  • add:是一个逻辑值,当为 TRUE 时,表示将绘图添加到已存在的绘图中。
  • type:绘图的类型,p 为点、l 为直线, o 同时绘制点和线,且线穿过点。
  • xname:用于 x 轴变量的名称。
  • xlim 和 ylim 表示x轴和y轴的范围。
  • xlab,ylab:x 轴和 y 轴的标签名称。

plot 函数中,x 和 y 分别表示所绘图形的横坐标和纵坐标。

以下我们绘制一个 sin(x) 函数的图表:

curve(sin(x), -2 * pi, 2 * pi)

注意:任何计算机绘图工具绘制的都是模式图,它并不能保证与真的函数图像一模一样,它只是每隔一段距离取一个点,然后计算这个点的"高度"并绘制出来,为了保证曲线连续性,相邻两个点之间会有直线连接,所以在某些情况下例如 tan(x) 可能会出现错误:

在每一个 (2n+1)Pi / 2 的位置都会出现断点,但是 R 的图像将它们连接了,希望大家理解这一点。

当然,不是所有的函数都像 sin 一样支持向量处理,我们也可以手动生成一个数字序列然后用 plot 函数生成函数图像。假设函数 f 仅支持单个数值作为参数:

# 定义函数 f
f = function (x) {
    if (x >= 0) {
        x
    } else {
        x ^ 2
    }
}

# 生成自变量序列
x = seq(-2, 2, length=100)

# 生成因变量序列
y = rep(0, length(x))
j = 1
for (i in x) {
    y[j] = f(i)
    j = j + 1
}

# 绘制图像
plot(x, y, type='l')

接下来我们使用 plot() 函数对向量数据进行绘图:

# 向量数据
v <- c(7,12,28,3,41)

# 生成图片
png(file = "line_chart_label_colored.jpg")

# 绘图、线图颜色为红色,main 参数用于设置标题
plot(v,type = "o", col = "red", xlab = "Month", ylab = "Rain fall",
   main = "Rain fall chart")

以上就是用R语言绘制函数曲线图的详细内容,更多关于R语言绘制函数曲线图的资料请关注我们其它相关文章!

(0)

相关推荐

  • R语言利用plot()函数画图的基本用法

    plot()函数在R语言画图中位置十分重要,现在就对其具体用法做一个总结. 基本用法: plot(x=x轴数据,y=y轴数据,main="标题",sub="子标题",type="线型",xlab="x轴名称",ylab="y轴名称",xlim = c(x轴范围,x轴范围),ylim = c(y轴范围,y轴范围)) 示例代码为: plot(c(1:6),c(1:6),main="test"

  • R语言如何实现多元线性回归

    R小白几天的摸索 红色为输入,蓝色为输出 输入数据 先把数据用excel保存为csv格式放在"我的文档"文件夹 打开R软件,不用新建,直接写 回归计算 求三个平方和 置信区间(95%) 散点图(最显著的因变量) 拟合图 一元线性回归 结果:(看图) 变量系数  Estimate 变量系数标准误  Std. Error T检验值  t value T检验p值  Pr(>|t|) 均方根误差  Residual standard error 判定系数  R-squared 调整判定系

  • R语言实现线性回归的示例

    在统计学中,线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析. 简单对来说就是用来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法. 回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析.如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析. 一元线性回归分析法的数学方程: y = ax + b

  • R语言修改下载安装包install.package的默认存储路径的操作方法

    这次遇到的问题是:R语言下载安装包时会先将下载下来的二进制zip文件保存在本地,然后将其解压安装到R的library文件夹下.包被下载后会默认将二进制zip文件保存在本地C盘的临时会话的downloaded_packages目录下,不希望保存在该目录下,想手动修改保存路径. 查找了一下方法,发现很多都让用.libPaths()或者lib参数来修改.这里说明一下.libPaths和lib参数的作用. libPaths {base} 文档中给出的说明大致意思就是这是一个获取或者设定R存放已经安装的包

  • R语言中对数据框的列名重命名的实现

    报错类型 Error: All arguments must be named plyr中的rename和dplyr中的rename用法是不同的. plyr::rename rename(data, c(old=new)) dplyr::rename rename(data, new = old) Example 比如, 默认的是plyr的rename, 运行下面命令, 会报错: d <- data.frame(old1=1:3, old2=4:6, old3=7:9) d library(ti

  • R语言统计结果输出至本地文件的几种方法示例

    1.sink() 在代码开始前加一行:sink("output.txt"),就会自动把结果全部输出到工作文件夹下的output.txt文本文档.这时在R控制台的输出窗口中是看不到输出结果的.代码结束时用sink()切换回来. 示例: sink("a.txt") x<-rnorm(100,0,1) mean(x) sink() 注:此处输出为mean(x). 2.stargazer() library(stargazer) #导入数据 mydata <-

  • R语言绘图如何支持中文

    不同系统的字体库目录: Linux 一般在 /usr/share/fonts 下,我们可以使用 fc-list 命令查看: # fc-list /usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf: DejaVu Serif:style=Bold /usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf: DejaVu Sans Mono:style=Book /usr/share/fonts/t

  • R语言及RStudio下载与安装方法

    现如今,R语言是统计领域广泛使用的工具,是属于GNU系统的一个自由.免费.源代码开放的软件,是用于统计计算和统计绘图的优秀工具.而RStudio是R的集成开发环境,用它进行R编程的学习和实践会更加轻松和方便.下面就教大家如何下载并安装R和RStudio,比较简单.R的维护工作由一个国际化的开发者团队负责.R软件的官方下载页面叫作The Comprehensive R Archive Network,即CRAN. 一.官网下载R安装包 下载地址为:https://cran.r-project.or

  • R语言开发之CSV文件的读写操作实现

    在R中,我们可以从存储在R环境外部的文件读取数据,还可以将数据写入由操作系统存储和访问的文件.这个csv文件应该存在于当前工作目录中,以方便R可以读取它, 当然,也可以设置自己的目录,并从那里读取文件. 我们可以使用getwd()函数来检查R工作区指向哪个目录,并且使用setwd()函数设置新的工作目录,如下: 输出结果如下: csv文件是一个文本文件,其中列中的值用逗号分隔,我们可以将以下数据保存入txt文件中,并且修改后缀名称为csv: id,name,salary,start_date,d

  • R语言如何进行线性回归的拟合度详解

    R语言进行线性回归的拟合度. 本文只是使用 R做回归计算,查看拟合度等,不讨论 R 函数的内部公式 在R中线性回归分析的函数是lm(),基本语法是 一元回归: lm(y ~ x,data) 多元回归:lm(y ~ x1+x2+x3-,data) 创建关系模型并获取系数 x <- c(151, 174, 138, 186, 128, 136, 179, 163, 152, 131) y <- c(63, 81, 56, 91, 47, 57, 76, 72, 62, 48) # 使用lm()函数

随机推荐