Я хочу нарисовать разные математические функции в одном графике, ограничивая некоторые из них различными значениями х. Код:R ggplot2 - Множество функций на одном графике с различными диапазонами по оси х
# Different functions
stereographic <- function(theta,f=1) {
2*f*tan(theta/2.0)
}
equidistant <- function(theta,f=1) {
f*theta
}
equisolidangle <- function(theta,f=1) {
2*f*sin(theta/2.0)
}
orthographic <- function(theta,f=1) {
f*sin(theta)
}
# Plot
p <- ggplot(data = data.frame(x = c(0,pi)), mapping = aes(x = x))
p <- p +
stat_function(fun=stereographic,aes(colour="Stereografisch")) +
stat_function(fun=equidistant,aes(colour="Äquidistant")) +
stat_function(fun=equisolidangle,aes(colour="Flächentreu")) +
ylim(0,3)
print(p)
Теперь я хочу добавить еще одну функцию в диапазоне оси х [0, р/2], но я не могу найти метод работы. Я всегда получаю что-то вроде ggplot2 doesn't know how to deal with data of class uneval
. Можно ли ограничить stat_function
новым диапазоном по оси x или есть другой хороший метод?
Спасибо, работает как шарм. Не знал параметр 'xlim', потому что забыл обновить свои пакеты. –