如何限制图表的域?

问题描述 投票:0回答:1

我正在绘制多个图形,我希望基础图的域在-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所在的位置。我希望它只能在-41以及14之间运行。我已经尝试过两次绘制基数,但由于限制,事情就不会出现在基础图中。我可以使用xlimylim作为边缘,但这个限制是在-11之间,我不知道。

r
1个回答
0
投票

做你想做的事情的方法是将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))

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.