Also, wie in der Überschrift gesagt, möchte ich meiner Heatmap eine weitere visuelle Ebene hinzufügen. Hinzufügen der Barplot-Ebene zur Heatmap (geom_tile)
Beispieldaten stammen von mpg
.
library(tidyverse) # for dplyr and ggplot2
data <- mpg %>%
mutate(quantity = 1, isnew = ifelse(year == 2008, 1, 0)) %>%
group_by(drv, class) %>%
summarise(quantity = sum(quantity), isnew = round(sum(isnew)/quantity, 2))
Zwei Kategorien als Hauptachse - Klasse und drv. Menge ist nur eine Anzahl von Autos für jede Kreuzung von Klasse und drv. Isnew ist ein Anteil von Neuwagen (Jahr 2008 vs 1999) in Menge.
drv class quantity isnew
<chr> <chr> <dbl> <dbl>
1 4 compact 12 0.67
2 4 midsize 3 0.67
3 4 pickup 33 0.52
4 4 subcompact 4 0.00
5 4 suv 51 0.53
6 f compact 35 0.40
7 f midsize 38 0.50
8 f minivan 11 0.45
9 f subcompact 22 0.50
10 r 2seater 5 0.60
11 r subcompact 9 0.56
12 r suv 11 0.55
Heatmap
ggplot(data, aes(class, drv)) +
geom_tile(aes(fill = quantity)) +
geom_text(aes(label = isnew))
Was ich möchte, ist zu erreichen, Textwerte auf jedem Abschnitt zu gestapelte Balken zu ändern. Der obere Teil jedes Balkens muss transparent sein, um die ursprünglichen Farben der Heatmap zu speichern. Der untere Wert muss den isnew
Wert dieses Sektors der Heatmap darstellen.
Zeichnen Sie einen Teil (nur paar Bars, aber ich will sie alle) der gewünschten Ausgabe in Paint 8p
gefunden in here, dass es wahrscheinlich über ggsubpolot
Paket erfolgen. Aber es scheint deprecated, und "Embed in ggplot2 Grafiken" wie bei Grolemund Github angegeben.