Ich mache eine Heatmap mit ggplot2. Ich möchte die Werte selbst in die Heatmap-Boxen setzen, aber ich finde, dass das funktioniert, wenn nicht facettiert, sobald ich Facetten habe, gehen die Zahlen in die falschen Kästchen - siehe beigefügte Bilder. Irgendwelche Tipps, wie man die Zahlen beim Facettieren in den richtigen Feldern hält?Facettieren vermasselt Wert Etiketten in Heatmap (ggplot2)
ALso, einige andere kleinere Fragen: wie man die Fliesengrößen ändert, wenn und wenn nicht facetting; Ändern der Farbe des Wertes Text in den Boxen (< - versuchte die offensichtlichen Lösungen, aber scheint nicht zu funktionieren ...)
Danke allen!
-Code (kann sehen, wo die Facette kommentiert out):
fpdata<-read.csv("fp.csv",header=T)
fpdata$Dimension=factor(fpdata$Dimension,levels(fpdata$Dimension)[c(4,1,3,2,5)])
fpdata$Trait=factor(fpdata$Trait,levels(fpdata$Trait)[c(22,15,16,3,4,9,21,20,10,14,6,2,1,
13,8,11,12,17,24,25,18,5,23,19,7)])
matrix <- melt(fpdata)
matrix
matrix$value[is.na(matrix$value)] <- 2
matrix
p3 <- ggplot(data = matrix, aes(variable, Trait, fill = value))+
geom_tile(color = "white")+
scale_fill_gradient2(low = "blue", high = "firebrick", mid = "deepskyblue",
midpoint = 0.6, limit = c(0.6,1), space = "Lab",
name="Factor Loadings")+labs(x = "Reduction #")+
geom_text(aes(label=ifelse(matrix$value<2,matrix$value," ")))
##+facet_grid(~Dimension, scale="free")
p3 <- p3 +
theme (axis.title.x = element_text(size=20),
axis.title.y = element_text(size=20),
axis.text.x = element_text(angle = 0, vjust = 1, size = 14, hjust = 0.5),
axis.text.y = element_text(size=16),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
legend.title = element_text(size=16),
legend.text = element_text(size=14),
strip.text.x = element_text(size=13, face="bold"))+coord_fixed()
p3
Wärmekarte ohne Facet
Wärmekarte mit Facet
niemals '$' in 'aes()'; Definieren Sie stattdessen eine Variable im Datenrahmen außerhalb von ggplot2 – baptiste
@baptiste? Ich habe versucht, es zu ändern, so dass es einen newvar <-matrix $ -Wert gab, ersetzt dann m $ v in der geom_text AES mit newvar, aber das Problem war immer noch vorhanden. –