topleft plots outside lty legends funcion cex barplot r legend

plots - Leyenda común para parcelas múltiples en R



lty r (2)

Prueba esto,

plot_colors <- c("blue","black", "green", "orange", "pink") text <- c("Fabricated Metal", "Iron and Steel", "Paper", "Beverages", "Tobacco") plot.new() par(xpd=TRUE) legend("center",legend = text, text.width = max(sapply(text, strwidth)), col=plot_colors, lwd=5, cex=1, horiz = TRUE) par(xpd=FALSE)

Estoy usando R y Latex juntos para dibujar algunas parcelas y estoy tratando de hacer una leyenda común para todos ellos.

Tengo seis parcelas separadas en la misma página. Realicé cada gráfico por separado en R y luego los mostré en la misma página usando / includegraphics en Latex.

Cada gráfico tiene la misma información de leyenda, así que en lugar de tener una leyenda en cada gráfico, me gustaría tener una leyenda horizontal en la parte inferior de la página. Desafortunadamente, no puedo imaginar cómo hacer una leyenda sin una trama. Una vez que tenga una imagen separada para la leyenda, sabré cómo incluirla en la parte inferior de la página utilizando Latex.

El código que estoy tratando de usar para hacer la leyenda es

plot(1, type = "n", axes=FALSE, xlab="", ylab="") plot_colors <- c("blue","black", "green", "orange", "pink") legend(.6,1.3,legend = c("Fabricated Metal", "Iron and Steel", "Paper", "Beverages", "Tobacco"), col=plot_colors, lwd=5, cex=.5, horiz = TRUE)

Pero, la fuente es demasiado pequeña y el lado del cuadro de leyenda está cortado.


Un simple ejemplo de lo que estaba hablando:

m <- matrix(c(1,2,3,4,5,6,7,7,7),nrow = 3,ncol = 3,byrow = TRUE) layout(mat = m,heights = c(0.4,0.4,0.2)) for (i in 1:6){ par(mar = c(2,2,1,1)) plot(runif(5),runif(5),xlab = "",ylab = "") } plot(1, type = "n", axes=FALSE, xlab="", ylab="") plot_colors <- c("blue","black", "green", "orange", "pink") legend(x = "top",inset = 0, legend = c("Fabricated Metal", "Iron and Steel", "Paper","Beverages", "Tobacco"), col=plot_colors, lwd=5, cex=.5, horiz = TRUE)