1) Install the extrafont e xkcd and sysfonts packages (I have had some problem with update packages, so before I have run
update.packages(checkBuilt = TRUE, ask = FALSE)
And then install xkcd from R repository and extrafont from downloaded code. The sysfonts required to install free-type (sudo apt-get install freetype*)
2) Install fonts from http://simonsoftware.se/other/xkcd.ttf within the R console
library(ggplot2) library(extrafont) if(! "xkcd" %in% fonts()) { xkcdFontURL <- "http://simonsoftware.se/other/xkcd.ttf" download.file(xkcdFontURL,dest="xkcd.ttf") font_import(".") ## because we downloaded to working directory loadfonts() }
3) Install ggplot (In R)
library(ggplot2) library(xkcd) library(extrafont) library(lubridate) wind<- read.table(file = myFile, header =TRUE) wind$date<-as.character(datiVento$date) wind$date<-ymd(wind$date) wind$doy<-yday(wind$date) p<-ggplot(wind,aes(wind$doy,wind$media))+geom_point()+xkcdaxis(range(c(1,366)),range(c(1,20)))+facet_wrap(~ station)+ylab("velocita' [m/s]")+xlab("day of year") ggsave(myOutFile)
And to obtain a bar plot of the speed class:
wind<-wind[wind$stazione=='myStation',] scalaBeaufort<-c(0.0,0.3,1.5,3.4,5.4,7.9,10.7,13.8,17.1,20.7,24.4,28.4,32.6,50) wind$speedClass<-NA n<-13 for(i in 1:n){ inf<-scalaBeaufort[i] sup<-scalaBeaufort[i+1] wind[!is.na(wind$media) & wind$media >=inf & wind$media < sup,c("speedClass")]<<-i-1 } freqWind<-table(wind$speedClass) freqWind<-data.frame(y=as.numeric(freqWind),x=as.numeric(names(freqWind))) freqWind$xmin <- freqWind$x - 0.1 freqWind$xmax <- freqWind$x + 0.1 freqWind$ymin <- 0 freqWind$ymax <- freqWind$y xrange<-range(c(-0.1,3)) yrange<-range(c(0,350)) mapping<-aes(xmin=xmin,ymin=ymin,xmax=xmax,ymax=ymax) p<-ggplot()+themexkcd()+ xkcdrect(mapping,freqWind)+ xkcdaxis(xrange,yrange)+scale_x_discrete(breaks = 0:2, labels=c("0","1","2")) + xlab(NULL)
4)Next step working with map...
references
- R http://www.r-project.org/
- xkcd - http://xkcd.r-forge.r-project.org/
- ggplot2 - http://ggplot2.org/
- lubridate - http://cran.r-project.org/web/packages/lubridate/index.html
No comments:
Post a Comment