Как мне ограничить область графа?

#r

#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, проходит строка. Я бы хотел, чтобы он выполнялся только между -4 и 1 , и 1 и 4 . Я дважды пытался построить базу, но тогда все просто не будет на базовом графике из-за ограничения. Я мог бы использовать xlim or ylim для ребер, но это ограничение находится между -1 и 1 , и я понятия не имею.

Комментарии:

1. Что значит, что вы хотите ограничить середину графика?

2. @AmandaR. извините, отредактировано для ясности. Ограничение базового графика между -1 и 1, где находятся y1 графики my y2 и

3. Я думаю, вы ищете xlim параметр для plot

4. @G5W, если я использую xlim его, будет работать только для -4 to 1 или 1 to 4 , но не для обоих, поскольку начальный график просто отрезал бы другую половину.

5. Попробуйте is.na(base) <- -1 <= base amp; base <= 1 перед построением графика.

Ответ №1:

Способ сделать то, что вы хотите, — это иметь соответствующую часть base as 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 amp; base <= 1
  

И запустите графические команды без изменений.

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

введите описание изображения здесь