2013-01-01 8 views
13

Sto cercando di sviluppare grafici pittorici. È possibile sviluppare tali grafici in R? enter image description heretabella grafica in r

myd <- data.frame (categories = c("Planes", "Ships", "Cars", "Trains"), 
values = c(15, 18, 22, 11)) 

componenti icone sono qui:

enter image description here enter image description here enter image description here enter image description here

+3

E 'certamente possibile * * ma ci vorranno probabilmente un lavoro considerevole. Date un'occhiata a http://stackoverflow.com/questions/2181902/how-to-use-an-image-as-a-point-in-ggplot e guardate anche 'multsymbolbox' nel pacchetto' plotrix' –

+5

Questo una sorta di diagramma abbatte il test Tufte. Troppo inchiostro per troppe poche informazioni. Peggio ancora, è difficile dire se una macchina, per esempio, valga più di un treno. –

+1

true può essere buono nel diario di scienza, ma può ancora essere utile in casa/parlamento, riunioni di lavoro o incontri pubblici generali. – shNIL

risposta

6

speranza che questo sarebbe utile a quattro la vostra casa/parlamento piano

Edit: mi dimentico di menziona il mio reference e Aggiungo alcune spiegazioni enter image description here

library(lattice) 
library(grid) 


imgs.names <- c('WNinq','7dqJM','9E3Wj','tStmx') 
library(png) 
images <- lapply(imgs.names, function(x) 
    readPNG(paste(mypath,x,'.png',sep=''),native=TRUE)) 
## I generate some data because we don't give a reproducible example 
x <- c(rep(0,4),rep(10,9),rep(20,3),rep(5,8),rep(4,8),rep(15,4),rep(13,8)) 
barchart(1:4~x, origin=0, col="yellow",xlim=c(0,30), 
      xlab ='values',ylab='categories',title = 'Pictorial', 
      scales = list(
       y = list(cex=2,col='blue', at = 1:4,labels = c('Trains','Cars','Ships','Planes')), 
       x = list(cex=2,col='blue',at=seq(0,30,by=10)) 
       ), 
      panel=function(x, y, ...) { 
       panel.fill(col = rgb(1,1,205/255)) ## I had to pick up the same yellow color!! 
       panel.grid() 
       lapply(1:4,function(id){ 
       grid.raster(images[[id]], x=x[which(y==id)], y=y[which(y==id)], 
          default.units="native", 
          just="left", 
          width =unit(2, "native"), 
          height=unit(0.7, "native")) 
       } 
      ) 
      } 
     ) 
+0

grazie andrà diritto al piano @fpdr grazie per aver chiesto – shNIL

+0

@shNIL Sono sorpreso che chiedono questo schema! – agstudy