fonction - ggplot2 gallery



Dessiner une excellente vache (1)

Je travaille dans une grande ferme en tant que statisticien et mon maître m'a demandé de dessiner quelque chose pour lui rappeler son enfance. Ce n'était pas facile pour moi de le faire, car il y avait une grande restriction: faire tout en utilisant seulement R. C'est comme ça que je l'ai fait. Pourriez-vous être si gentil et m'aider à dessiner une meilleure vache?

library(ggplot2)

sim=function(xy){
  xx=xy[,"x"]*(-1)
  yy=xy[,"y"]
  gg=xy[,"gr"]
  xy=rbind(xy,cbind(xx,yy,gg))
  return(as.data.frame(xy))
}

circleFun <- function(center = c(0,0),diameter = 1, npoints = 100){
  r = diameter / 2
  tt <- seq(0,2*pi,length.out = npoints)
  xx <- center[1] + r * cos(tt)
  yy <- center[2] + r * sin(tt)
  return(data.frame(x = xx, y = yy))
}

n=100 

akys <- circleFun(c(1,5),1.5,npoints = n)
akys=as.matrix(cbind(akys,gr=4))
akys=sim(akys)

akys21 <- circleFun(c(1,4.5),0.5,npoints = n)
akys21=as.matrix(cbind(akys21,gr=5))

akys22 <- circleFun(c(-1,5.3),0.7,npoints = n)
akys22=as.matrix(cbind(akys22,gr=5))

nosis=circleFun(c(0.6,1),0.6,npoints = n)
nosis=as.matrix(cbind(nosis,gr=6))
nosis=sim(nosis)

x=c(0,1,3,3,2,0,0,1,1,0,3,5,2)
y=c(0,0,4,6,7,7,0,0,2,2,6,10,7)
gr=c(2,2,2,2,2,2,3,3,3,3,1,1,1)
xy=cbind(x=x,y=y,gr=gr)

data=sim(xy)
data=rbind(data,akys,akys21,akys22,nosis)

ggplot()+geom_polygon(data=data,mapping=aes(x=x,y=y,fill=factor(gr),group=gr), linetype=0, colour="black")+theme_bw()+
  scale_fill_manual(values=c("cornsilk2","chocolate4","lightpink","white","black","maroon4"))+
  theme(axis.line=element_blank(),axis.ticks=element_blank(),axis.text=element_blank(),legend.position="none",panel.grid=element_blank(),panel.border=element_blank())+xlab("")+ylab("")+
  ggtitle("Crazy Cow Wishing You Happy Easter!!!")

Vois ici

https://src-bin.com


Answer #1

Si vous êtes sous Linux et que cowsay installé, la solution est assez simple:

> system("cowsay I quit")
 ________
< I quit >
 --------
    \   ^__^
     \  (oo)\_______
        (__)\       )\/\
            ||----w |
            ||     ||




ggplot2