本节书摘来自异步社区《R数据可视化手册》一书中的第2章,第2.6节,作者 【美】Winston Chang,更多章节内容可以访问云栖社区“异步社区”公众号查看
问题如何绘制函数图像?
方法可以使用curve()函数绘制函数图像,如图2-12左图所示。使用时需向其传递一个关于变量x的表达式:
curve(x^3 - 5*x, from=-4, to=4)你可以绘制任何一个以数值型向量作为输入且以数值型向量作为输出的函数图像,包括你自己定义的函数,如图2-12右图所示。
将参数设置为add=TRUE可以向已有图形添加函数图像:
# 绘制用户自定义的函数图像 myfun <- function(xvar) { 1/(1 + exp(-xvar + 10)) } curve(myfun(x), from=0, to=20) # 添加直线 curve(1-myfun(x), add = TRUE, col ="red")对于ggplot2,可以使用qplot()函数绘制得到同样的结果(见图2-13)。使用时需设定stat="function"和geom="line",并向其传递一个输入和输出皆为数值型向量的函数:
library(ggplot2) # 将x轴的取值范围设定为0到20 qplot(c(0, 20), fun=myfun, stat="function", geom="line") # 这等价于 ggplot(data.frame(x=c(0, 20)), aes(x=x)) + stat_function(fun=myfun, geom="line")另见更多关于绘制函数图像的内容参见13.2节。
相关资源:敏捷开发V1.0.pptx