Rでぐにゃぐにゃしたプロットを描く

不真面目な話にかっちりとしたプロットは似合わない。
相応のプロットを描きたい。Rで描きたい。
xkcdパッケージで大体のところは描ける。
通常、折れ線グラフはxkcdline関数で描けるのだが定義域の変化に合わせて関数が変わるような場合には対応していなさそうだったのでそこはcurve関数で値を作って、geom_smoothで手書きっぽく表現した。

f1 <- function(x){
  ifelse(x<2, x*(-1) + 3, ifelse(x>=2 & x<7, 1, x*5-34))
  }
mydata <- as.data.frame(curve(from=0,to=8,f1))
ggplot() + geom_smooth(aes(x=x, y=y),data=mydata, se=FALSE, color="black",size=2) + 
  labs(x="hours", y="motivation") +
  theme(axis.title = element_text(size=50,family = "xkcd"),
        axis.text = element_text(size=50,family = "xkcd")) +
  xkcdaxis(c(0,8), c(0,5))