2015-04-12 10 views
5

Di seguito è una trama che voglio includere in un documento. Il problema è la larghezza della mia trama che è di piccole dimensioni (che fanno x-axix non leggibile a tutti)Come allargare la larghezza del grafico in ggplot2?

Qui è il codice ggplot2 myCode.r:

require("ggplot2") 

all <- read.csv(file="benchmark/bench.query.csv", head=TRUE, sep=";") 

w <- subset(all, query %in% c("sort.q1", "sort.q2", "sort.q3", "sort.q4", "sort.q5")) 

w$rtime <- as.numeric(sub(",", ".", w$rtime, fixed=TRUE)) 

p <- ggplot(data=w, aes(x=query, y=rtime, colour=triplestore, shape=triplestore)) 
p <- p + scale_shape_manual(values = 0:length(unique(w$triplestore))) 
p <- p + geom_point(size=4) 
p <- p + geom_line(size=1,aes(group=triplestore)) 
p <- p + labs(x = "Requêtes", y = "Temps d'exécution (log10(ms))") 
p <- p + scale_fill_continuous(guide = guide_legend(title = NULL)) 
p <- p + facet_grid(trace~type) 
p <- p + theme_bw() 

ggsave(file="bench_query_sort.pdf") 

print (p) 

ho guardo intorno per vedere come allargare la trama, ma non ho trovato nulla.

Qualche idea su cosa aggiungere/eliminare/modificare nel mio codice?

plot

+3

La risposta di Jaap risolve la domanda ingrandita. Inoltre, potresti voler ruotare i segni di spunta x: 'p = p + tema (axis.text.x = element_text (angle = 90, hjust = 1, vjust = 0.5))' – Arpi

risposta

10

Probabilmente il modo più semplice per farlo, è quello di utilizzare i dispositivi grafici (PNG, JPEG, BMP, TIFF). È possibile impostare la larghezza esatta e l'altezza di un'immagine come segue:

png(filename="bench_query_sort.png", width=600, height=600) 

ggplot(data=w, aes(x=query, y=rtime, colour=triplestore, shape=triplestore)) + 
    scale_shape_manual(values = 0:length(unique(w$triplestore))) + 
    geom_point(size=4) + 
    geom_line(size=1,aes(group=triplestore)) + 
    labs(x = "Requêtes", y = "Temps d'exécution (log10(ms))") + 
    scale_fill_continuous(guide = guide_legend(title = NULL)) + 
    facet_grid(trace~type) + 
    theme_bw()  

dev.off() 

Il width e height sono in pixel. Ciò è particolarmente utile quando si preparano le immagini per la pubblicazione su Internet. Per maggiori informazioni, consultare la pagina della guida con ?png.

In alternativa, è anche possibile utilizzare ggsave per ottenere le dimensioni esatte desiderate. È possibile impostare le dimensioni con:

ggsave(file="bench_query_sort.pdf", width=4, height=4, dpi=300) 

Il width e height sono in pollici, con dpi è possibile impostare la qualità dell'immagine.

+2

Risposta molto bella. Faccio qualcosa di molto simile con 'quartz (height = 11, width = 8.5)' per ottenere una nuova finestra di plot, seguita dal file 'ggplot()', seguito da 'quartz.save ('fname.pdf')'. Il risultato finale è lo stesso e non devo mai ricordare quei fastidiosi comandi 'dev.off()'. –

Problemi correlati