Kapitel 4. Liniendiagramme
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Linie Diagramme werden in der Regel verwendet, um darzustellen, wie sich eine kontinuierliche Variable auf der y-Achse im Verhältnis zu einer anderen kontinuierlichen Variable auf der x-Achse verändert. Häufig steht die Variable x
für die Zeit, sie kann aber auch eine andere kontinuierliche Größe darstellen, z. B. die Menge eines Medikaments, das Versuchspersonen verabreicht wird.
Wie bei Balkendiagrammen gibt es auch hier Ausnahmen. Liniendiagramme können auch mit einer diskreten Variable auf der x-Achse verwendet werden. Das ist sinnvoll, wenn die Variable geordnet ist (z. B. "klein", "mittel", "groß"), aber nicht, wenn die Variable ungeordnet ist (z. B. "Kuh", "Gans", "Schwein"). Die meisten Beispiele in diesem Kapitel verwenden eine kontinuierliche Variable x
, aber wir werden ein Beispiel sehen, in dem die Variable in einen Faktor umgewandelt und somit als diskrete Variable behandelt wird.
4.1 Erstellen eines einfachen Liniendiagramms
Lösung
Verwende ggplot()
mit geom_line()
und gib an, welche Variablen du auf x
und y
abgebildet hast(Abbildung 4-1):
ggplot
(
BOD
,
aes
(
x
=
Time
,
y
=
demand
))
+
geom_line
()
Diskussion
In diesem Beispieldatensatz steht die Variable x
, Time
, in einer Spalte und die Variable y
, demand
, in einer anderen:
BOD
#> Time demand
#> 1 1 8.3
#> 2 2 10.3
#> 3 3 19.0
#> 4 4 16.0
#> 5 5 15.6
#> 6 7 19.8
Linien Diagramme können mit diskreten (kategorischen) oder kontinuierlichen (numerischen) Variablen auf der x-Achse erstellt werden. In diesem Beispiel ist die Variabledemand
numerisch, aber sie kann als kategorische Variable behandelt werden, indem sie mit factor()
in einen Faktor umgewandelt wird(Abbildung 4-2). Wenn die Variable x
ein Faktor ist, musst du auch aes(group=1)
verwenden, damit ggplot weiß, dass die Datenpunkte zusammengehören und mit einer Linie verbunden werden sollen (siehe Rezept 4.3 für eine Erklärung, warum group
bei Faktoren benötigt wird):
BOD1
<-
BOD
# Make a copy of the data
BOD1
$
Time
<-
factor
(
BOD1
$
Time
)
ggplot
(
BOD1
,
aes
(
x
=
Time
,
y
=
demand
,
group
=
1
))
+
geom_line
()
Im Datensatz BOD
gibt es keinen Eintrag für Time = 6
, also gibt es keine Ebene 6, wenn Time
in einen Faktor umgewandelt wird. Faktoren enthalten kategoriale Werte, und in diesem Zusammenhang ist 6 nur ein weiterer Wert. Da er im Datensatz nicht vorkommt, ist auf der x-Achse kein Platz für ihn.
Bei ggplot2 reicht der standardmäßige y-Bereich eines Liniendiagramms gerade aus, um die y-Werte in den Daten zu erfassen. Bei einigen Datenarten ist es besser, wenn der y-Bereich bei Null beginnt. Du kannst ylim()
verwenden, um den Bereich festzulegen, oder du kannst expand_limits()
verwenden, um den Bereich um einen Wert zu erweitern. Dadurch wird der Bereich von Null bis zum Maximalwert der Nachfragespalte in BOD
festgelegt(Abbildung 4-3):
# These have the same result
ggplot
(
BOD
,
aes
(
x
=
Time
,
y
=
demand
))
+
geom_line
()
+
ylim
(
0
,
max
(
BOD
$
demand
))
ggplot
(
BOD
,
aes
(
x
=
Time
,
y
=
demand
))
+
geom_line
()
+
expand_limits
(
y
=
0
)
Siehe auch
Siehe Rezept 8.2 für weitere Informationen zur Steuerung des Bereichs der Achsen.
4.2 Hinzufügen von Punkten zu einem Liniendiagramm
Lösung
Füge hinzu geom_point()
(Abbildung 4-4):
ggplot
(
BOD
,
aes
(
x
=
Time
,
y
=
demand
))
+
geom_line
()
+
geom_point
()
Diskussion
Manchmal ist es sinnvoll, jeden Datenpunkt in einem Liniendiagramm zu markieren. Das ist hilfreich, wenn die Dichte der Beobachtungen gering ist oder wenn die Beobachtungen nicht in regelmäßigen Abständen stattfinden. Im DatensatzBOD
gibt es zum Beispiel keinen Eintrag für Time=6
, aber das ist in einem bloßen Liniendiagramm nicht zu erkennen (vergleiche Abbildung 4-3 mit Abbildung 4-4).
Im Datensatz von worldpop
sind die Abstände zwischen den einzelnen Datenpunkten nicht einheitlich. In der fernen Vergangenheit waren die Schätzungen nicht so häufig wie in der jüngeren Vergangenheit. Die Anzeige der Punkte im Diagramm zeigt, wann die einzelnen Schätzungen vorgenommen wurden(Abbildung 4-5):
library
(
gcookbook
)
# Load gcookbook for the worldpop data set
ggplot
(
worldpop
,
aes
(
x
=
Year
,
y
=
Population
))
+
geom_line
()
+
geom_point
()
# Same with a log y-axis
ggplot
(
worldpop
,
aes
(
x
=
Year
,
y
=
Population
))
+
geom_line
()
+
geom_point
()
+
scale_y_log10
()
Anhand der logarithmischen y-Achse kannst du sehen, dass die Rate der proportionalen Veränderung in den letzten tausend Jahren zugenommen hat. Die Schätzungen für die Jahre vor 0 haben eine ungefähr konstante Veränderungsrate von 10 Mal pro 5.000 Jahre. In den letzten 1.000 Jahren ist die Bevölkerung viel schneller gewachsen. Wir können auch sehen, dass die Bevölkerungsschätzungen in letzter Zeit viel häufiger vorkommen - und wahrscheinlich auch genauer sind!
Siehe auch
Um das Aussehen der Punkte zu ändern, siehe Rezept 4.5.
4.3 Ein Liniendiagramm mit mehreren Linien erstellen
Lösung
In kannst du zusätzlich zu den Variablen, die der x- und y-Achse zugeordnet sind, eine weitere (diskrete) Variable colour
oder linetype
zuordnen, wie in Abbildung 4-6 gezeigt:
library
(
gcookbook
)
# Load gcookbook for the tg data set
# Map supp to colour
ggplot
(
tg
,
aes
(
x
=
dose
,
y
=
length
,
colour
=
supp
))
+
geom_line
()
# Map supp to linetype
ggplot
(
tg
,
aes
(
x
=
dose
,
y
=
length
,
linetype
=
supp
))
+
geom_line
()
Diskussion
Die Daten von tg
haben drei Spalten, darunter den Faktor supp
, den wir auf colour
und linetype
:
tg
#> supp dose length
#> 1 OJ 0.5 13.23
#> 2 OJ 1.0 22.70
#> 3 OJ 2.0 26.06
#> 4 VC 0.5 7.98
#> 5 VC 1.0 16.77
#> 6 VC 2.0 26.14
Hinweis
Wenn die Variable x
ein Faktor ist, musst du ggplot auch sagen, dass es nach dieser Variable gruppieren soll, wie im Folgenden beschrieben.
Linie Diagramme können mit einer kontinuierlichen oder kategorialen Variable auf der x-Achse verwendet werden. Manchmal wird die Variable auf der x-Achse als kategorisch angesehen, auch wenn sie als Zahl gespeichert ist. In unserem Beispiel gibt es drei Werte für dose
: 0,5, 1,0 und 2,0. Du möchtest diese Werte vielleicht als Kategorien behandeln und nicht als Werte auf einer kontinuierlichen Skala. Dazu musst du dose
in einen Faktor umwandeln(Abbildung 4-7):
ggplot
(
tg
,
aes
(
x
=
factor
(
dose
),
y
=
length
,
colour
=
supp
,
group
=
supp
))
+
geom_line
()
Beachte die Verwendung von group = supp
. Ohne diese Anweisung weiß ggplot nicht, wie es die Daten gruppieren soll, um die Linien zu zeichnen, und es gibt eine Fehlermeldung aus:
ggplot
(
tg
,
aes
(
x
=
factor
(
dose
),
y
=
length
,
colour
=
supp
))
+
geom_line
()
#> geom_path: Each group consists of only one observation. Do you need to
#> adjust the group aesthetic?
Ein weiteres Problem, das häufig auftritt, wenn die falsche Gruppierung verwendet wird, ist, dass du ein gezacktes Sägezahnmuster siehst, wie in Abbildung 4-8:
ggplot
(
tg
,
aes
(
x
=
dose
,
y
=
length
))
+
geom_line
()
Dies passiert, weil es mehrere Datenpunkte an jeder y-Positiongibt und ggplot denkt, dass sie alle in einer Gruppe sind. Die Datenpunkte für jede Gruppe werden mit einer einzigen Linie verbunden, was zu dem Sägezahnmuster führt. Wenn diskrete Variablen auf Ästhetiken wiecolour
oder linetype
abgebildet werden, werden sie automatisch als Gruppierungsvariablen verwendet. Wenn du jedoch andere Variablen für die Gruppierung verwenden möchtest (die nicht auf eine Ästhetik abgebildet sind), sollten sie mit group
verwendet werden.
Hinweis
Wenn dein Liniendiagramm im Zweifelsfall falsch aussieht, versuche, die Gruppierungsvariable explizit mit group
anzugeben. Bei Liniendiagrammen kommt es häufig zu Problemen, weil ggplot nicht weiß, wie die Variablen gruppiert werden sollen.
Wenn dein Diagramm neben den Linien auch Punkte enthält, kannst du den Eigenschaften der Punkte auch Variablen zuordnen, z. B. shape
und fill
(Abbildung 4-9):
ggplot
(
tg
,
aes
(
x
=
dose
,
y
=
length
,
shape
=
supp
))
+
geom_line
()
+
geom_point
(
size
=
4
)
# Make the points a little larger
ggplot
(
tg
,
aes
(
x
=
dose
,
y
=
length
,
fill
=
supp
))
+
geom_line
()
+
geom_point
(
size
=
4
,
shape
=
21
)
# Also use a point with a color fill
Manchmal überschneiden sich die Punkte. In diesen Fällen solltest du ihnen ausweichen, was bedeutet, dass ihre Positionen nach links und rechts angepasst werden(Abbildung 4-10). Dabei musst du auch den Linien ausweichen, sonst bewegen sich nur die Punkte und sind falsch ausgerichtet. Du musst auch angeben, wie weit sie sich beim Ausweichen bewegen sollen:
ggplot
(
tg
,
aes
(
x
=
dose
,
y
=
length
,
shape
=
supp
))
+
geom_line
(
position
=
position_dodge
(
0.2
))
+
# Dodge lines by 0.2
geom_point
(
position
=
position_dodge
(
0.2
),
size
=
4
)
# Dodge points by 0.2
4.4 Ändern des Aussehens von Linien
Lösung
Der Linientyp (durchgezogen, gestrichelt, gepunktet usw.) wird mit linetype
eingestellt, die Dicke (in mm) mit size
und die Farbe der Linie mitcolour
(oder color
).
Diese Eigenschaften können (wie in Abbildung 4-11 gezeigt) eingestellt werden, indem sie beim Aufruf von geom_line()
mit Werten versehen werden:
ggplot
(
BOD
,
aes
(
x
=
Time
,
y
=
demand
))
+
geom_line
(
linetype
=
"dashed"
,
size
=
1
,
colour
=
"blue"
)
Wenn es mehr als eine Zeile gibt, wirkt sich die Einstellung der ästhetischen Eigenschaften auf alle Zeilen aus. Wenn du den Eigenschaften Variablen zuordnest, wie wir in Rezept 4.3 gesehen haben, wird jede Zeile anders aussehen. Die Standardfarben von sind nicht besonders ansprechend, daher solltest du eine andere Palette verwenden, wie in Abbildung 4-12 gezeigt, indem duscale_colour_brewer()
oder scale_colour_manual()
verwendest:
library
(
gcookbook
)
# Load gcookbook for the tg data set
ggplot
(
tg
,
aes
(
x
=
dose
,
y
=
length
,
colour
=
supp
))
+
geom_line
()
+
scale_colour_brewer
(
palette
=
"Set1"
)
Diskussion
Um eine einzige konstante Farbe für alle Linien festzulegen, gibst du colour
außerhalb von aes()
an. Das Gleiche gilt für Größe, Linientyp und Punktform(Abbildung 4-13). Eventuell musst du auch die Gruppierungsvariable angeben:
# If both lines have the same properties, you need to specify a variable to
# use for grouping
ggplot
(
tg
,
aes
(
x
=
dose
,
y
=
length
,
group
=
supp
))
+
geom_line
(
colour
=
"darkgreen"
,
size
=
1.5
)
# Since supp is mapped to colour, it will automatically be used for grouping
ggplot
(
tg
,
aes
(
x
=
dose
,
y
=
length
,
colour
=
supp
))
+
geom_line
(
linetype
=
"dashed"
)
+
geom_point
(
shape
=
22
,
size
=
3
,
fill
=
"white"
)
Siehe auch
Weitere Informationen zur Verwendung von Farben findest du in Kapitel 12.
4.5 Ändern des Aussehens von Punkten
Lösung
Setze in geom_point()
die size
, shape
, colour
, und/oder fill
außerhalb von aes()
(das Ergebnis ist in Abbildung 4-14 dargestellt):
ggplot
(
BOD
,
aes
(
x
=
Time
,
y
=
demand
))
+
geom_line
()
+
geom_point
(
size
=
4
,
shape
=
22
,
colour
=
"darkred"
,
fill
=
"pink"
)
Diskussion
Die Standardform für Punkte ist ein einfarbiger Kreis, die Standardgröße ist 2 und die Standardfarbe ist Schwarz. Die Füllfarbe ist nur für einige Punktformen (Nr. 21-25) relevant, die separate Umriss- und Füllfarben haben (siehe Rezept 5.3 für eine Tabelle der Formen). Die Füllfarbe ist normalerweise NA
oder leer; du kannst sie mit Weiß füllen, um hohl aussehende Kreise zu erhalten, wie in Abbildung 4-15 gezeigt:
ggplot
(
BOD
,
aes
(
x
=
Time
,
y
=
demand
))
+
geom_line
()
+
geom_point
(
size
=
4
,
shape
=
21
,
fill
=
"white"
)
Wenn die Punkte und Linien unterschiedliche Farben haben, solltest du die Punkte nach den Linien angeben, damit sie oben gezeichnet werden. Andernfalls werden die Linien über den Punkten gezeichnet.
Für mehrere Linien haben wir in Rezept 4.3 gesehen, wie man unterschiedlich gefärbte Punkte für jede Gruppe zeichnen kann, indem man Variablen auf ästhetische Eigenschaften von Punkten innerhalb von aes()
zuweist. Die Standardfarben sind nicht sehr ansprechend, daher möchtest du vielleicht eine andere Palette verwenden, indem du scale_colour_brewer()
oder scale_colour_manual()
benutzt. Wenn du eine konstante Form oder Größe für alle Punkte festlegen möchtest, wie in Abbildung 4-16, gibst du die Form oder Größe außerhalb von aes()
an:
library
(
gcookbook
)
# Load gcookbook for the tg data set
# Save the position_dodge specification because we'll use it multiple times
pd
<-
position_dodge
(
0.2
)
ggplot
(
tg
,
aes
(
x
=
dose
,
y
=
length
,
fill
=
supp
))
+
geom_line
(
position
=
pd
)
+
geom_point
(
shape
=
21
,
size
=
3
,
position
=
pd
)
+
scale_fill_manual
(
values
=
c
(
"black"
,
"white"
))
Siehe auch
Siehe Rezept 5.3 für mehr über die Verwendung verschiedener Formen und Kapitel 12 für mehr über Farben.
4.6 Erstellen eines Diagramms mit einem schattierten Bereich
Lösung
Verwende geom_area()
, um einen schattierten Bereich zu erhalten, wie in Abbildung 4-17:
# Convert the sunspot.year data set into a data frame for this example
sunspotyear
<-
data.frame
(
Year
=
as.numeric
(
time
(
sunspot.year
)),
Sunspots
=
as.numeric
(
sunspot.year
)
)
ggplot
(
sunspotyear
,
aes
(
x
=
Year
,
y
=
Sunspots
))
+
geom_area
()
Diskussion
Standardmäßig wird der Bereich mit einem sehr dunklen Grau gefüllt und hat keinen Umriss. Die Farbe kann durch die Einstellung fill
geändert werden. Im folgenden Beispiel setzen wir sie auf "blue"
und machen sie außerdem zu 80 % transparent, indem wir alpha
auf 0,2 setzen. Dadurch werden die Rasterlinien durch den Bereich hindurch sichtbar, wie in Abbildung 4-18 dargestellt. Wir fügen auch eine Kontur hinzu, indem wir colour
einstellen:
ggplot
(
sunspotyear
,
aes
(
x
=
Year
,
y
=
Sunspots
))
+
geom_area
(
colour
=
"black"
,
fill
=
"blue"
,
alpha
=
.2
)
Es ist nicht unbedingt wünschenswert, dass einen Umriss um den gesamten Bereich hat, weil dadurch eine vertikale Linie am Anfang und am Ende des schattierten Bereichs sowie eine am unteren Rand entsteht. Um dieses Problem zu vermeiden, können wir den Bereich ohne Umriss zeichnen (indem wir nicht angeben colour
) und dann einegeom_line()
darüber legen, wie in Abbildung 4-19 gezeigt:
ggplot
(
sunspotyear
,
aes
(
x
=
Year
,
y
=
Sunspots
))
+
geom_area
(
fill
=
"blue"
,
alpha
=
.2
)
+
geom_line
()
Siehe auch
In Kapitel 12 erfährst du mehr über die Auswahl der Farben.
4.7 Ein gestapeltes Flächendiagramm erstellen
Lösung
Verwende geom_area()
und ordne einen Faktor auf fill
zu(Abbildung 4-20):
library
(
gcookbook
)
# Load gcookbook for the uspopage data set
ggplot
(
uspopage
,
aes
(
x
=
Year
,
y
=
Thousands
,
fill
=
AgeGroup
))
+
geom_area
()
Diskussion
Die Art von Daten, die mit einem gestapelten Flächendiagramm aufgezeichnet werden, werden oft in einem breiten Format bereitgestellt, aber ggplot erfordert Daten im langen Format. Um sie zu konvertieren, siehe Rezept 15.19.
In diesem Beispiel haben wir den Datensatz uspopage
verwendet:
uspopage
#> Year AgeGroup Thousands
#> 1 1900 <5 9181
#> 2 1900 5-14 16966
#> 3 1900 15-24 14951
#> ...<818 more rows>...
#> 822 2002 45-54 40084
#> 823 2002 55-64 26602
#> 824 2002 >64 35602
In dieser Version des Diagramms(Abbildung 4-21) wird die Palette in eine Reihe von Blautönen geändert und es werden dünne (size = .2
) Linien zwischen den einzelnen Bereichen hinzugefügt. Außerdem werden die gefüllten Bereiche halbtransparent (alpha = .4
), so dass man die Gitterlinien durch sie hindurch sehen kann:
ggplot
(
uspopage
,
aes
(
x
=
Year
,
y
=
Thousands
,
fill
=
AgeGroup
))
+
geom_area
(
colour
=
"black"
,
size
=
.2
,
alpha
=
.4
)
+
scale_fill_brewer
(
palette
=
"Blues"
)
Da jeder gefüllte Bereich mit einem Polygon gezeichnet wird, umfasst der Umriss die linke und rechte Seite. Das kann ablenkend oder irreführend sein. Um dies zu beseitigen(Abbildung 4-22), zeichnest du die gestapelten Bereiche zunächst ohne Umriss (indem du colour
als Standardwert NA
belässt) und fügst dann ein geom_line()
hinzu:
ggplot
(
uspopage
,
aes
(
x
=
Year
,
y
=
Thousands
,
fill
=
AgeGroup
,
order
=
dplyr
::
desc
(
AgeGroup
)))
+
geom_area
(
colour
=
NA
,
alpha
=
.4
)
+
scale_fill_brewer
(
palette
=
"Blues"
)
+
geom_line
(
position
=
"stack"
,
size
=
.2
)
Siehe auch
In Rezept 15.19 erfährst du mehr über die Umwandlung von Daten vom Breit- in das Langformat.
In Kapitel 12 erfährst du mehr über die Auswahl von Farben.
4.8 Erstellen eines Diagramms mit gestapelten Proportionalflächen
Lösung
Verwende geom_area(position = "fill")
, wie in Abbildung 4-23, oben:
ggplot
(
uspopage
,
aes
(
x
=
Year
,
y
=
Thousands
,
fill
=
AgeGroup
))
+
geom_area
(
position
=
"fill"
,
colour
=
"black"
,
size
=
.2
,
alpha
=
.4
)
+
scale_fill_brewer
(
palette
=
"Blues"
)
Diskussion
Mit position="fill"
werden die y-Werte so skaliert, dass sie von 0 bis 1 reichen. Um die Etiketten als Prozentsätze zu drucken, verwendescale_y_continuous(labels = scales::percent)
, wie in Abbildung 4-23, unten:
ggplot
(
uspopage
,
aes
(
x
=
Year
,
y
=
Thousands
,
fill
=
AgeGroup
))
+
geom_area
(
position
=
"fill"
,
colour
=
"black"
,
size
=
.2
,
alpha
=
.4
)
+
scale_fill_brewer
(
palette
=
"Blues"
)
+
scale_y_continuous
(
labels
=
scales
::
percent
)
Siehe auch
Die Erstellung eines gestapelten Balkendiagramms erfolgt auf ähnliche Weise. In Rezept 3.8 erfährst du, wie du die Prozentsätze separat berechnest.
Für mehr über die Zusammenfassung von Daten nach Gruppen, siehe Rezept 15.17.
4.9 Hinzufügen einer Konfidenzregion
Lösung
Verwende geom_ribbon()
und ordne die Werte ymin
und ymax
zu.
Im Datensatz climate
ist Anomaly10y
ein 10-Jahres-Durchschnitt der Abweichung (in Celsius) von der Durchschnittstemperatur 1950-1980, undUnc10y
ist das 95%-Konfidenzintervall. Wir setzen ymax
und ymin
aufAnomaly10y
plus oder minus Unc10y
(Abbildung 4-24):
library
(
gcookbook
)
# Load gcookbook for the climate data set
library
(
dplyr
)
# Grab a subset of the climate data
climate_mod
<-
climate
%>%
filter
(
Source
==
"Berkeley"
)
%>%
select
(
Year
,
Anomaly10y
,
Unc10y
)
climate_mod
#> Year Anomaly10y Unc10y
#> 1 1800 -0.435 0.505
#> 2 1801 -0.453 0.493
#> 3 1802 -0.460 0.486
#> ...<199 more rows>...
#> 203 2002 0.856 0.028
#> 204 2003 0.869 0.028
#> 205 2004 0.884 0.029
# Shaded region
ggplot
(
climate_mod
,
aes
(
x
=
Year
,
y
=
Anomaly10y
))
+
geom_ribbon
(
aes
(
ymin
=
Anomaly10y
-
Unc10y
,
ymax
=
Anomaly10y
+
Unc10y
),
alpha
=
0.2
)
+
geom_line
()
Der schattierte Bereich ist eigentlich ein sehr dunkles Grau, aber er ist größtenteils transparent. Die Transparenz wird mit alpha = 0.2
eingestellt, wodurch sie zu 80% transparent wird.
Diskussion
Beachte, dass geom_ribbon()
vor geom_line()
steht, damit die Linie über dem schattierten Bereich gezeichnet wird. Wäre die Reihenfolge umgekehrt, könnte der schattierte Bereich die Linie verdecken. In diesem Fall wäre das kein Problem, da der schattierte Bereich größtenteils transparent ist, aber es wäre ein Problem, wenn der schattierte Bereich undurchsichtig wäre.
Anstelle eines schattierten Bereichs kannst du auch gepunktete Linien verwenden, um die Ober- und Untergrenzen darzustellen(Abbildung 4-25):
# With a dotted line for upper and lower bounds
ggplot
(
climate_mod
,
aes
(
x
=
Year
,
y
=
Anomaly10y
))
+
geom_line
(
aes
(
y
=
Anomaly10y
-
Unc10y
),
colour
=
"grey50"
,
linetype
=
"dotted"
)
+
geom_line
(
aes
(
y
=
Anomaly10y
+
Unc10y
),
colour
=
"grey50"
,
linetype
=
"dotted"
)
+
geom_line
()
Schattierte Bereiche können andere Dinge als Vertrauensbereiche darstellen, z. B. die Differenz zwischen zwei Werten.
In den Flächendiagrammen in Rezept 4.7 geht dery-Bereich der schattierten Fläche von 0 bis y. Hier geht von ymin
bis ymax
.
Get R Graphics Cookbook, 2. Auflage now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.