Ich verwende geom_segment
, um eine Zeitleiste der Aktivität zu zeichnen. Es ist alles auf der gleichen Linie, und da ich es zusammen mit anderen Graphen präsentieren möchte, würde ich lieber die y-Achse viel kleiner machen. Es scheint, dass die Größe des grauen Diagrammbereichs in ggplot2 immer quadratisch ist, egal ob ich ihn größer oder kleiner skaliere. Gibt es eine Möglichkeit zu sagen, dass ich x = 500 y = 50 oder so etwas möchte?Können Sie die Proportionen des ggplot2 Graphen von Quadrat zu Rechteck ändern?
df2 <- structure(list(Activities =
structure(c(2L, 1L, 2L, 1L, 2L, 3L, 1L, 2L, 2L, 2L, 2L, 5L,
4L, 3L, 2L, 2L),
.Label = c("authoring", "hacking", "learning",
"surfing", "tasks"),
class = "factor"),
Start = c(14895L, 15005L, 16066L, 16226L, 16387L, 16394L,
27030L,27532L, 27600L, 27687L, 28660L, 28713L,
29154L, 30264L, 30345L, 32245L),
End = c(15005L, 16066L, 16226L, 16387L,16394L, 16509L,
27491L, 27591L, 27628L, 28450L, 28704L, 29109L,
30250L, 30345L, 31235L, 33794L)),
.Names = c("Activities", "Start", "End"),
class = "data.frame", row.names = c(NA, -16L))
a <- 0:23
Hier mein Grundstück:
ggplot(df2, aes(colour=Activities)) +
geom_segment(aes(x=Start, xend=End, y=0, yend=0), size=10) +
scale_x_continuous(breaks=a * 60 * 60, labels=a) +
xlab("Time") + ylab("") +
scale_y_continuous(breaks=NULL, limits=c(-.1, .1))
Die Größe des Diagramms entspricht der Größe Ihres aktuellen Grafikgeräts. Ändern Sie das und Ihre Handlung wird automatisch angepasst. Wenn Sie die Größe beim Speichern auf Festplatte festlegen möchten, verwenden Sie 'ggsave()' und legen Sie die Argumente für die Plotgröße fest. – Andrie
@Andrie: Machen Sie das eine Antwort? – Roland
@Andrie Sie können auch 'coord_fixed' verwenden, um das Verhältnis zwischen der X- und Y-Achse zu fixieren, siehe meine Antwort. Ich habe tatsächlich diese Form eine Antwort, die Sie haben eine Zeit zurück :). –