manually manipulation ggtitle ggplot change r function pdf ggplot2 save

manipulation - Función para guardar ggplot



ggtitle (3)

Lo siguiente fue útil para mí, puede ser para otra persona también. Uno puede guardar la última trama sin referirla explícitamente también.

ggsave("filename.pdf", plot = last_plot(), # or give ggplot object name as in myPlot, width = 5, height = 5, units = "in", # other options c("in", "cm", "mm"), dpi = 300)

Me gustaría crear una función para guardar gráficos (desde ggplot ). Tengo muchas tramas así que esto me ayudará a trabajar más efectivamente.

Aquí hay un marco de datos:

### creating data frame music <- c("Blues", "Hip-hop", "Jazz", "Metal", "Rock") number <- c(8, 7, 4, 6, 11) df.music <- data.frame(music, number) colnames(df.music) <- c("Music", "Amount")

Entonces creo un diagrama:

### creating bar graph (this part is OK) myplot <- ggplot(data=df.music, aes(x=music, y=number)) + geom_bar(stat="identity") + xlab(colnames(df.music)[1]) + ylab(colnames(df.music)[2]) + ylim(c(0,11)) + ggtitle("Ulubiony typ muzyki wśród studentów")

Ahora quiero guardar esta trama en .pdf .

Esto funciona:

pdf("Myplot.pdf", width=5, height=5) plot.music.bad dev.off()

Sin embargo, me gustaría automatizar esto con una función que toma como argumento la trama que quiero guardar. No sé exactamente cómo hacerlo; esto es lo que he intentado:

save <- function(myplot){ plot<- myplot pdf("lol.pdf", width=5, height=5) plot dev.off() } ### .pdf file is created but doesn''t work save(myplot)

Entonces, ¿cómo puedo hacerlo?


Puede usar print() para guardar los diagramas producidos desde ggplot2 en un archivo.

Primero, defina su función para guardar parcelas:

savePlot <- function(myPlot) { pdf("myPlot.pdf") print(myPlot) dev.off() }

Crea tu trama

myPlot <- ggplot(ggplot(data=df.music, aes(x=music, y=number)) + geom_bar(stat="identity") + xlab(colnames(df.music)[1]) + ylab(colnames(df.music)[2]) + ylim(c(0,11)) + ggtitle("Ulubiony typ muzyki wśród studentów")

Y finalmente llama a la función:

savePlot(myPlot)

Alternativamente, puedes usar ggsave() después de crear tu gráfica:

ggsave(filename="myPlot.pdf", plot=myPlot)


Si desea un archivo de imagen en lugar de un pdf, también funciona lo siguiente

ggsave(filename="myPlot.jpg", plot=last_plot())

o con parámetros adicionales, de la siguiente manera.

ggsave(filename="myPlot.jpg", plot=lastplot(), width = 10, height = 5, units = "cm", # other options are "in", "cm", "mm" dpi = 200 )

También se admiten los siguientes tipos de archivos "eps", "ps", "tex" (pictex), "pdf", "jpeg", "tiff", "png", "bmp", "svg" o "wmf".