首页 > 解决方案 > 如何限制图的域?

问题描述

我正在绘制多个图,我希望 -1 和 1 之间的基图域不存在,因为这是受限图所在的位置:

x1 = seq(-1,0,0.01)
x2 = seq(0, 1, 0.01)
base = seq(-4, 4, 0.01)
y1 = function(x) {(1+x)^3}
y2 = function(x) {(1-x)^2}
plot(base, 0*base, xlab="x", ylab="y")
points(x1, y1(x1))
points(x2, y2(x2))

目前有一条线穿过 x1 和 x2 所在的位置。我希望它只在-4and11and之间运行4。我已经尝试过两次绘制基地,但由于限制,事情就不会出现在基地图中。我可以使用xlimylim用于边缘,但这个限制介于-1和之间1,我不知道。

标签: r

解决方案


做你想做的事情的一种方法是拥有 as 的相关部分,base并且NA不会绘制这些点。

这是问题中的数据和功能。

x1 <- seq(-1, 0, 0.01)
x2 <- seq(0, 1, 0.01)
base <- seq(-4, 4, 0.01)
y1 <- function(x) {(1 + x)^3}
y2 <- function(x) {(1 - x)^2}

现在使用函数is.na<-使base介于两者之间-1的所有内容都1等于NA

is.na(base) <- -1 <= base & base <= 1

并运行图形命令不变。

plot(base, 0*base, xlab = "x", ylab = "y")
points(x1, y1(x1))
points(x2, y2(x2))

在此处输入图像描述


推荐阅读