Добавить 0 значений к существующему графику в R в пределах указанного интервала - PullRequest
0 голосов
/ 06 октября 2018

У меня есть существующий график в R,

z <- seq(20, 50, by=1)
plot (z, (3 / (z+1))^5, type="b", xlab=expression(theta), ylab=expression(paste("P(",theta,")")))

enter image description here

Функция, которую я строю, определена только для значений больше 20.Как бы я отразил это на своем графике для значений от 0 до 19?Должна быть точка в 0 на оси Y для каждого дискретного числа 1:19 на оси X, а затем, начиная с 20, график будет таким, каким он у меня сейчас.

Я пытался использовать ablines (), но я могу получить только линию по всему графику, а не по диапазону, и я не могу сделать его точечным (желательно, потому что функция определена только для дискретногоценности).

1 Ответ

0 голосов
/ 06 октября 2018

Вы можете просто сгенерировать очки, которые у вас уже есть, а затем объединить их с кучей нулей.

z <- seq(20, 50, by=1)
y <- (3 / (z+1))^5

z <- c(1:20,20:50)
y <- c(rep(0, 20), y)
plot (z, y, xlab=expression(theta), type="b",
    ylab=expression(paste("P(",theta,")")))

Extended Plot

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...