Jak tworzyć względne rozmiary płytek w ggplot2 z geom_tile?

Próbuję wizualizować zestawy kolorów i ich uzupełnienia. Chcę użyć geom_tile, aby umieścić je obok siebie. Moim problemem jest to, że niektóre kolory docelowe mają wiele uzupełnień, więc muszę być w stanie równomiernie rozdzielić płytki uzupełniające między kolorami.

Mój zestaw danych testowych to:

test_pair = data.frame(pair_number = c(1, 1, 2, 2, 3, 3, 3), 
                       color = c('#5f75e6', '#e6d05f', '#5f75e6', '#5fb9e6', '#5f75e6', '#b9e65f', '#e68d5f'),
                       group = c('target', 'comp', 'target', 'comp', 'target', 'comp', 'comp'),
                       bin_width = c(1, 1, 1, 1, 1, 0.5, 0.5))

I mój kod fabuły:

ggplot(test_pair, aes(x = factor(group), y = factor(pair_number), width = bin_width)) +
       geom_tile(aes(fill = color)) +
       scale_fill_identity() +
       scale_x_discrete('', expand = c(0, 0)) +
       scale_y_discrete('', expand = c(0, 0)) + 
       theme_bw() +
       theme(line = element_blank(),
            panel.grid.major = element_blank(),
            panel.grid.minor = element_blank(),
            panel.border = element_blank(),
            plot.background = element_rect(fill = '#c4a879'),
            axis.ticks = element_blank(),
            axis.text.y = element_text(size = 14),
            axis.text.x = element_text(size = 14),
            axis.title.y = element_text(color = hex))

Wykres rozdziela jeden z kolorów dopełnienia na pół, ale wyśrodkowuje kafelek i nie drukuje koloru drugiego dopełnienia. Chcę, aby wykres drukował dwa uzupełnienia obok siebie, bez konieczności określania punktów przerwania wzdłuż x jak wdokumentacja geom_tile. Ktoś wie jak to zrobić?

questionAnswers(1)

yourAnswerToTheQuestion