diagrama de barras agrupado: ordene el eje x y mantenga un ancho de barra constante, en caso de falta de niveles
Aquí está mi guión (ejemplo inspirado enaquí y usando elreorder
opción deaquí):
library(ggplot2)
Animals <- read.table(
header=TRUE, text='Category Reason Species
1 Decline Genuine 24
2 Improved Genuine 16
3 Improved Misclassified 85
4 Decline Misclassified 41
5 Decline Taxonomic 2
6 Improved Taxonomic 7
7 Decline Unclear 10
8 Improved Unclear 25
9 Improved Bla 10
10 Decline Hello 30')
fig <- ggplot(Animals, aes(x=reorder(Animals$Reason, -Animals$Species), y=Species, fill = Category)) +
geom_bar(stat="identity", position = "dodge")
Esto proporciona la siguiente gráfica de salida:
Lo que me gustaría es ordenar mi diagrama de barrassolamente con la condición 'Rechazar', y todo el 'Mejorado' no se insertaría en el medio. Esto es lo que me gustaría obtener (después de una edición de svg):
Así que ahora se ordena toda la condición 'Rechazar' y la condición 'Mejorada' aparece después. Además, idealmente, todas las barras deberían tener el mismo ancho, incluso si la condición no se representa para el valor (por ejemplo, "Bla" no tiene valor de "Rechazo").
¿Alguna idea de cómo podría hacer eso sin tener que jugar con editores SVG? ¡Muchas gracias!