ggplot2
имеет stat_function()
, который можно использовать для рисования функции. Раскраска может контролироваться путем доступа к вычисляемой переменной x
. data.frame
указывает диапазон по оси X.
library(ggplot2)
ggplot(data.frame(x = c(-1, 1)), aes(x, colour = stat(x > 0))) +
stat_function(fun = ~ .x^2) +
scale_colour_manual(guide = "none", values = c("blue", "red"))
![enter image description here](https://i.stack.imgur.com/8enaa.png)
Видимо, цвет не переключается точно на x == 0
. Поэтому нам может потребоваться увеличить количество точек данных, для которых вычисляется функция:
library(ggplot2)
ggplot(data.frame(x = c(-1, 1)), aes(x, colour = stat(x > 0))) +
stat_function(fun = ~ .x^2, n = 500) +
scale_colour_manual(guide = "none", values = c("blue", "red"))
![enter image description here](https://i.stack.imgur.com/a8lQs.png)