Dois gráficos de barras horizontais com eixo compartilhado em ggplot2 (semelhante à pirâmide populacional)

Eu quero traçar duas variáveis ​​em um gráfico semelhante a uma pirâmide populacional semelhante a esta:

Este enredo équase lá, mas não completamente, pelas razões que vou listar abaixo.

Eu produzi este gráfico com o seguinte código:

DATA <- data.frame(
    state = c("AK", "TX", "CA", "MT", "NM", "AZ", "NV", "CO", "OR", "WY", "MI", "MN", "UT", "ID", "KS", "NE", "SD", "WA", "ND", "OK"),
    sales_staff = c(20,30,40,10,15,35,18,25,22,7,12,22,3,4,5,8,14,28,24,32)
)

set.seed(1)
DATA$sales <- DATA$sales_staff * 50 + (runif(nrow(DATA)) * 1000)

# Order the state factor by number of sales staff so that it is plotted in that order
DATA$state <- factor(DATA$state, levels = DATA[order(DATA$sales_staff),"state"])

Eu quero "colar" dois gráficos lado a lado, então eu uso a função multiplot () textualmente dehttp://www.cookbook-r.com/Graphs/Multiple_graphs_on_one_page_%28ggplot2%29/

(Eu não vou reproduzir o código para essa função aqui por brevidade e clareza)

Meu código para o gráfico final é:

library(ggplot2)

g1 <- ggplot(data = DATA, aes(x = state, y = sales_staff)) +
  geom_bar(stat = "identity") + ggtitle("Number of sales staff") +
  theme(axis.title.x = element_blank(), axis.title.y = element_blank(), axis.text.y = element_blank(), axis.ticks.y = element_blank(), plot.margin = unit(c(1,0,1,0), "mm")) +
  scale_y_reverse() + coord_flip()

g2 <- ggplot(data = DATA, aes(x = state, y = sales)) +
  geom_bar(stat = "identity") + ggtitle("Sales (x $1000)") +
  theme(axis.title.x = element_blank(), axis.title.y = element_blank(), plot.margin = unit(c(1,5,1,0), "mm")) +
  coord_flip()

multiplot(g1, g2, cols = 2)

ESTÁ BEM. Então, o que há de errado com esse enredo?

Preciso obter as marcas de escala no eixo direito do gráfico esquerdo. Eu não consigo descobrir como fazer isso.As duas parcelas são larguras diferentes. Isso ocorre porque os estados no meio são os rótulos dos eixos do gráfico correto e usam algum espaço para esse gráfico.

Eu bati uma parede de tijolos em obter este enredo para "qualidade de produção". Estou começando a me perguntar se estou indo de um modo errado porque estou pensando que o próximo passo será desenhar os rótulos dos eixos como uma terceira coluna separada entre os dois gráficos. (Eu ainda não sei como fazer isso). Isso resolverá o problema do "tamanho igual" e me permitirá adicionar um título de "estado", por isso ainda pode ser o caminho a percorrer. Mas eu não posso deixar de me perguntar se existe uma maneira mais simples ...

Qualquer conselho ou assistência apreciada!

questionAnswers(1)

yourAnswerToTheQuestion