Pergunta

Estou criando uma série de gráficos em R (estou usando ggplot2, mas isso não é essencial) e quero poder salvar minha saída para poder editá-la para uso futuro. lendas sobre, ou ajustar cores, etc.Eu vi que o ggplot2 tem um comando salvar, mas parece produzir PDFs ou bitmaps, nenhum dos quais é particularmente editável

Como outras pessoas fazem isso?Alguma boa idéia?

Aqui está um exemplo de código para produzir um gráfico de amostra;

library(ggplot2)
dataframe<-data.frame(fac=factor(c(1:4)),data1=rnorm(400,100,sd=15))
dataframe$data2<-dataframe$data1*c(0.25,0.5,0.75,1)
dataframe
testplot<-qplot(x=fac, y=data2,data=dataframe, colour=fac, geom=c("boxplot", "jitter"))
testplot

Obrigado

Paulo.

Foi útil?

Solução 3

Obrigado pelas respostas, eu brinquei com isso e, depois de alguma ajuda do meu amigo, Google, encontrei o Cairo pacote, que permite a criação de arquivos SVG, posso editá -los em Inkscape.

library(Cairo)
Cairo(600,600,file="testplot.svg",type="svg",bg="transparent",pointsize=8, units="px",dpi=400)
testplot
dev.off()
Cairo(1200,1200,file="testplot12200.png",type="png",bg="transparent",pointsize=12, units="px",dpi=200)
testplot
dev.off()

Agora eu só tenho que brincar com as várias configurações para obter meu enredo o mais bom possível antes de escrever o arquivo.

Outras dicas

Outros formatos editáveis:

Dê uma olhada help(devices) para outros formatos disponíveis:esses incluem svg, pictex e xfig, todos eles editáveis ​​em maior ou menor grau.

Observe que os PDFs podem ser editados, por exemplo, usando o Omnigraffle ferramenta disponível para OSX da Apple.

Outras maneiras de registrar dados de plotagem:

Além disso, você pode gravar comandos do R no subsistema gráfico para repeti-los mais tarde - dê uma olhada em dev.copy:

 Most devices (including all screen devices) have a display list
 which records all of the graphics operations that occur in the
 device. 'dev.copy' copies graphics contents by copying the display
 list from one device to another device.  Also, automatic redrawing
 of graphics contents following the resizing of a device depends on
 the contents of the display list.

Usando Rscript para criar um gráfico repetível e editável:

Normalmente eu uso uma terceira estratégia, que é copiar minha sessão R em um arquivo Rscript, que posso executar repetidamente e ajustar os comandos de plotagem até fazer o que desejo:

#!/usr/bin/Rscript
x = 1:10
pdf("myplot.pdf", height=0, width=0, paper="a4")
plot(x)
dev.off();

Com ggplot e treliça, você pode usar save Para salvar o objeto da plotagem no disco e depois load depois e modifique -o. Por exemplo:

save(testplot, file = "test-plot.rdata")

# Time passes and you start a new R session
load("test-plot.rdata")
testplot + opts(legend.position = "none")
testplot + geom_point()

Clique com o botão direito do mouse na cópia da plotagem de saída como metafile e salve a plota

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top