Hello,

You can use stat_function, it will take care of all the details, all you have to do is to pass xlim.


library(ggplot2)
library(cowplot)

ggplot() +
  stat_function(fun = sin, xlim = c(0, pi)) +
  xlab("x") +
  ylab("sin(x)") +
  scale_x_continuous(breaks = seq(0, pi, pi/6), labels = seq(0, 180, 30)) +
  ggtitle("sin(x) vs x", subtitle = "x is in degrees") +
  theme_cowplot()


Hope this helps,

Rui Barradas

Às 19:41 de 24/07/21, Thomas Subia via R-help escreveu:
Colleagues,

Here is my code which plots sin(x) vs x, for angles between 0 and 180
degrees.

library(ggplot2)
library(REdaS)
copdat$degrees <- c(0,45,90,135,180)
copdat$radians <- deg2rad(copdat$degrees)
copdat$sin_x <- sin(copdat$radians)

ggplot(copdat,aes(x=degrees,y=sin_x))+
   geom_point(size = 2)+ geom_line()+
   theme_cowplot()+xlab("x")+
   ylab("sin(x)")+
   scale_x_continuous(breaks=seq(0,180,30))+
   ggtitle("sin(x) vs x\nx is in degrees")

My trig students would prefer a curved line plot similar to what can be
plotted with Excel smooth line functionality.
I wanted to provide a relatively simple R script using ggplot to do this
without having to resort to fitting a sine curve to these points.

Some guidance would be appreciated.

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to