【发布时间】:2022-01-06 02:54:55
【问题描述】:
我正在使用 R 来绘制一个函数,并且想在同一个绘图中添加描述多个函数的行。为了绘制一个函数,我写:
plot(function(x){x},
xlab="Celsius", xlim=c(-100, 100),
ylab="Degrees", ylim=c(-100, 100))
这将绘制一条 1:1 的线。如果我想在同一张图上绘制不同的函数,我可以使用points() 函数,但这需要提供x 的数据值,以便绘制length(x) 点(加入按行)为:
points(x=seq(-100, 100, by=0.1),
y=c(seq(-100, 100, by=0.1)-32)*5/9,
typ="l", col="red")
是否可以在绘制函数时在绘图中添加线条,而不必使用points() 或其他函数计算数据点?基本上,它会是这样的:
plot(function(x){x},
xlab="Celsius", xlim=c(-100, 100),
ylab="Degrees", ylim=c(-100, 100))
points(function(x){(x-32)*5/9},
typ="l", col="red")
这只是一个例子,它显示了 X 轴上的摄氏度和 Y 轴上的摄氏度(黑色)和华氏度(红色)之间的关系。实际上,我想绘制多个复杂函数,但这只会给问题增加噪音。
我找到的一个解决方案是
plot(function(x){x},
xlab="Celsius", xlim=c(-100, 100),
ylab="Degrees", ylim=c(-100, 100))
par(new=TRUE)
plot(function(x){(x-32)*5/9},
xlab="", xlim=c(-100, 100),
ylab="", ylim=c(-100, 100),
axes=FALSE, col="red")
但每次都必须定义限制和标签以及AXES=FALSE 似乎很麻烦。
【问题讨论】:
-
如果你想绘制函数,使用
curve函数。 -
您也可以找到答案here。