curve 位于 graphics 包(package)。 说明
绘制与区间上的函数相对应的曲线[from, to].curve还可以绘制变量中的表达式xname, 默认 'x’。
用法
curve(expr, from = NULL, to = NULL, n = 101, add = FALSE,
type = "l", xname = "x", xlab = xname, ylab = NULL,
log = NULL, xlim = NULL, ...)
## S3 method for class 'function'
plot(x, y = 0, to = 1, from = y, xlim = NULL, ylab = NULL, ...)
参数
expr |
函数的名称,或者写为 |
x |
‘vectorizing’ 数字R函数。 |
y |
|
from, to |
绘制函数的范围。 |
n |
整数;要评估的 x 值的数量。 |
add |
逻辑性; if |
xlim |
|
type |
绘图类型:参见 |
xname |
给出用于 x 轴的名称的字符串。 |
xlab, ylab, log, ... |
标签和graphical parameters也可以指定为参数。有关 对于 |
细节
函数或表达式 expr (对于 curve )或函数 x (对于 plot )在 [from, to] 范围内等距的 n 点处进行计算。然后绘制以这种方式确定的点。
如果 from 或 to 是 NULL ,则默认为 xlim 的相应元素(如果不是 NULL )。
当两者都没有时会发生什么from/to也不xlim指定 x-limits 是一个复杂的故事。为了plot(<function>)并为curve(add = FALSE)默认值是。为了curve(add = NA)和curve(add =
TRUE)默认值取自上一个绘图使用的x-limits。 (这与以下版本不同R2.14.0 之前。)
log 的值用于指定绘图轴(除非 add = TRUE )以及如何解释“等距”:如果 x 分量表示对数缩放,则绘制表达式或函数的点是相等的以对数刻度间隔。
当 add = TRUE 时,log 的默认值取自当前绘图,而如果 add = NA 则 x 分量取自现有绘图(如果有),并且 y 分量默认为线性。对于add = FALSE,默认值为""
这曾经是一个快速的破解,现在似乎有一个有用的目的,但可能会给不流畅的函数带来不好的结果。
对于expensive-to-compute expr 会话,您应该使用更智能的工具。
curve 处理 expr 的方式引起了混乱。它首先查看expr是否是name(也称为符号),在这种情况下,它被视为函数的名称,并且expr被替换为对expr的调用名称由 xname 指定的单个参数。否则,它会检查 expr 是 call 或 expression ,并且它包含对 xname 给出的变量的引用(使用 all.vars ):其他任何内容都是错误。然后,在提供由 xname 给出、长度为 n 的名称向量的环境中评估 expr ,并且应评估为长度为 n 的对象。请注意,这意味着 curve(x, ...) 被视为绘制名为 x 的函数的请求(并且在 plot 的 function 方法中如此使用)。
plot 方法可以直接调用 plot.function 。
值
以不可见方式返回包含所绘制点的组件 x 和 y 的列表。
警告
由于历史原因,允许 add 作为 plot 的 "function" 方法的参数,但其行为可能会让您感到惊讶。建议仅将 add 与 curve 一起使用。
例子
plot(qnorm) # default range c(0, 1) is appropriate here,
# but end values are -/+Inf and so are omitted.
plot(qlogis, main = "The Inverse Logit : qlogis()")
abline(h = 0, v = 0:2/2, lty = 3, col = "gray")
curve(sin, -2*pi, 2*pi, xname = "t")
curve(tan, xname = "t", add = NA,
main = "curve(tan) --> same x-scale as previous plot")
op <- par(mfrow = c(2, 2))
curve(x^3 - 3*x, -2, 2)
curve(x^2 - 2, add = TRUE, col = "violet")
## simple and advanced versions, quite similar:
plot(cos, -pi, 3*pi)
curve(cos, xlim = c(-pi, 3*pi), n = 1001, col = "blue", add = TRUE)
chippy <- function(x) sin(cos(x)*exp(-x/2))
curve(chippy, -8, 7, n = 2001)
plot (chippy, -8, -5)
for(ll in c("", "x", "y", "xy"))
curve(log(1+x), 1, 100, log = ll, sub = paste0("log = '", ll, "'"))
par(op)
也可以看看
相关用法
- R contour 显示轮廓
- R coplot 调节图
- R clip 设置剪切区域
- R convertXY 图形坐标系之间的转换
- R cdplot 条件密度图
- R legend 将图例添加到绘图中
- R barplot 条形图
- R plot.histogram 绘制直方图
- R points 向绘图添加点
- R stem 茎叶图
- R mtext 将文本写入绘图的边距
- R arrows 将箭头添加到绘图中
- R pairs 散点图矩阵
- R stars 星图(蜘蛛图/雷达图)和线段图
- R box 在地块周围画一个方框
- R smoothScatter 具有平滑密度颜色表示的散点图
- R mosaicplot 马赛克图
- R bxp 从摘要中绘制箱线图
- R plot.raster 绘制光栅图像
- R axTicks 计算轴刻度线位置
- R plot.factor 绘制因子变量
- R sunflowerplot 制作向日葵散点图
- R plot.table 表对象的绘图方法
- R units 图形单位
- R identify 识别散点图中的点
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Draw Function Plots。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
