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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。