#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
графики myy2
и3. Я думаю, вы ищете
xlim
параметр дляplot
4. @G5W, если я использую
xlim
его, будет работать только для-4
to1
или1
to4
, но не для обоих, поскольку начальный график просто отрезал бы другую половину.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))