Ich habe versucht, ein gestapeltes Flächendiagramm mit einer diskreten x-Variable zu erzeugen (weil ich das Geschäftsjahr anzeigen möchte, d. H. "2013/14" statt Kalenderjahr). Wenn Sie jedoch die X-Achsen-Variable in einen Faktor umwandeln, wird verhindert, dass die Geometrie im endgültigen Diagramm gerendert wird.ggplot2 Faktor x Variable Brüche geom_area
Gibt es einen Weg um dies?
library(ggplot2)
dat <- structure(list(year = c(13, 13, 14, 14, 15, 15),
group_lvl = structure(c(1L, 2L, 1L, 2L, 1L, 2L),
.Label = c("a", "b"), class = "factor"),
val = c(35, 65, 50, 50, 75, 25)),
.Names = c("year", "group_lvl", "val"), row.names = c(NA, -6L),
class = "data.frame")
dat
year group_lvl val
1 13 a 35
2 13 b 65
3 14 a 50
4 14 b 50
5 15 a 75
6 15 b 25
ggplot(dat, aes(x = year, y = val)) +
geom_area(aes(fill = group_lvl), position = "stack")
dat$year <- factor(dat$year)
ggplot(dat, aes(x = year, y = val)) +
geom_area(aes(fill = group_lvl), position = "stack")
sessionInfo()
R version 3.3.0 (2016-05-03)
Platform: i386-w64-mingw32/i386 (32-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1
locale:
[1] LC_COLLATE=English_United Kingdom.1252 LC_CTYPE=English_United Kingdom.1252
[3] LC_MONETARY=English_United Kingdom.1252 LC_NUMERIC=C
[5] LC_TIME=English_United Kingdom.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] ggplot2_2.1.0
loaded via a namespace (and not attached):
[1] labeling_0.3 colorspace_1.2-6 scales_0.4.0 plyr_1.8.3 tools_3.3.0
[6] gtable_0.2.0 Rcpp_0.12.4 grid_3.3.0 digest_0.6.9 munsell_0.4.3
Wie funktioniert ein Flächendiagramm Sinn für kategorische Daten? Wenn Sie keine Dezimalstellen sehen möchten, ist es vielleicht besser, die Achse mit 'scale_x_continuous' zu steuern? – Gopala
@Gopola, scheint mir ziemlich sinnvoll. Wie oben erwähnt, muss ich die Zeit auf der x-Achse als Geschäftsjahr anzeigen. Ein anderes Beispiel könnte das Jahrquartal sein (2013q3, 2013q4, 2014q1), wo eine kontinuierliche Skala wenig Sinn macht. In jedem Fall werden Faktoren als markierte Ganzzahlen gespeichert und so würde ich erwarten, dass das Flächendiagramm die x-Achse ohne Probleme darstellt. –
Flächendiagramme zeigen Trends bei kontinuierlichen Variablen. Sie benötigen sie also in einem Typ, der in einem kontinuierlichen Maßstab dargestellt werden kann. Die Anpassung der Skala ist ein anderes Thema, was ich vorgeschlagen habe, und die folgende Antwort verwendet diesen Ansatz. – Gopala