gráfico de barras agrupado: encomende o eixo x e mantenha a largura constante da barra, em caso de falta de níveis
Aqui está o meu script (exemplo inspirado emaqui e usando oreorder
opção deaqui):
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")
Isso fornece o seguinte gráfico de saída:
O que eu gostaria é pedir meu barplotsó na condição 'Recusar', e todos os 'Melhorados' não seriam inseridos no meio. Aqui está o que eu gostaria de obter (depois de alguma edição svg):
Portanto, agora toda a condição 'Recusar' é classificada e a condição 'Melhorado' vem depois. Além disso, idealmente, todas as barras teriam a mesma largura, mesmo que a condição não seja representada para o valor (por exemplo, "Bla" não tem valor "Recusar").
Alguma idéia de como eu poderia fazer isso sem ter que jogar com editores SVG? Muito Obrigado!