如何限制图的范围?

时间:2019-04-11 16:41:38

标签: r

我正在绘制多个图,并且我希望基本图的域在-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之间,我不知道。

1 个答案:

答案 0 :(得分: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

相关问题