Ich habe einen einfachen Plot in R (Version R Version 3.0.1 (2013-05-16)) unter Verwendung ggplot2
(Version 0.9.3.1) generiert, die die Korrelationskoeffizienten für eine Reihe von Daten zeigt. Derzeit ist die Legenden-Farbleiste auf der rechten Seite des Diagramms ein Bruchteil der gesamten Diagrammgröße.Wie kann ich die Legende in ggplot2 auf die gleiche Höhe wie mein Grundstück bringen?
Ich möchte die Legende Farbleiste die gleiche Höhe wie die Handlung haben. Ich dachte, dass ich das legend.key.height
verwenden könnte, um dies zu tun, aber ich habe gefunden, dass das nicht der Fall ist. Ich untersuchte das grid
Paket unit
Funktion und fand, dass es dort einige normalisierte Einheiten gab, aber als ich sie probierte (unit(1, "npc")
), war die Farbleiste viel zu groß und ging von der Seite.
Wie kann ich die Legende die gleiche Höhe wie die Handlung selbst machen?
Ein volles Selbst Beispiel enthalten ist unter:
# Load the needed libraries
library(ggplot2)
library(grid)
library(scales)
library(reshape2)
# Generate a collection of sample data
variables = c("Var1", "Var2", "Var3")
data = matrix(runif(9, -1, 1), 3, 3)
diag(data) = 1
colnames(data) = variables
rownames(data) = variables
# Generate the plot
corrs = data
ggplot(melt(corrs), aes(x = Var1, y = Var2, fill = value)) +
geom_tile() +
geom_text(parse = TRUE, aes(label = sprintf("%.2f", value)), size = 3, color = "white") +
theme_bw() +
theme(panel.border = element_blank(),
axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1),
aspect.ratio = 1,
legend.position = "right",
legend.key.height = unit(1, "inch")) +
labs(x = "", y = "", fill = "", title = "Correlation Coefficients") +
scale_fill_gradient2(limits = c(-1, 1), expand = c(0, 0),
low = muted("red"),
mid = "black",
high = muted("blue"))
bitte ein minimales umluftunabhängigem reproduzierbares Beispiel Post – baptiste
Wird in Kürze tun .... –
Ok, Frage –