Hinzufügen einer Linie zu einem Diagramm mit der Funktion Lines() in R

Jinku Hu 30 Januar 2023
  1. Verwenden Sie die Funktion lines(), um einem Plot in R Plot eine Linie hinzuzufügen
  2. Verwenden Sie Punkte, um Punkte zu einem Diagramm in R . hinzuzufügen
  3. Die Reihenfolge der Funktionsaufrufe von plot und lines beeinflusst die Skalen von Plot
Hinzufügen einer Linie zu einem Diagramm mit der Funktion Lines() in R

In diesem Artikel erfahren Sie, wie Sie mit der Funktion lines() in R eine Linie zu einem Plot hinzufügen.

Verwenden Sie die Funktion lines(), um einem Plot in R Plot eine Linie hinzuzufügen

Die Funktion lines() ist Teil des R-Pakets graphics und wird verwendet, um dem Plot Linien hinzuzufügen. Zuerst sollte die Funktion plot aufgerufen werden, um einen Plot zu erstellen, bei dem es eine Zuordnung von Variablen gibt, die durch die ersten beiden Argumente angegeben werden. Beachten Sie, dass das zweite Argument, das die y-Achsen-Koordinaten bezeichnet, optional ist. Sobald der Plot gezeichnet ist, können wir die Funktion lines() aufrufen und die Koordinatenvektoren nach Bedarf übergeben, um dem Plot Linien hinzuzufügen. Die Funktion plot ist nicht erforderlich, um ein Liniendiagramm zu zeichnen, damit die Funktion lines() funktioniert.

library(stats)
library(babynames)
library(dplyr)

plot(cars$speed, cars$dist, type = "l", col = "red",
     main = "Title of the Plot",
     xlab = "Speed (mph)",
     ylab = "Stopping Distance (Feet)")

lines(cars$speed, cars$dist/4 , col = "green")

legend("topleft", c("line 1", "line 2"),
       lty = c(1,1),
       col = c("red", "green"))

Linie zum Plot hinzufügen

Verwenden Sie Punkte, um Punkte zu einem Diagramm in R . hinzuzufügen

Ähnlich der Funktion lines() bietet das Paket graphics die Funktion points(), um Punkte in den Plot zu zeichnen. Das folgende Beispiel veranschaulicht das Szenario, in dem zwei Linien- und Punktzuordnungen auf demselben Diagramm erstellt werden. Beachten Sie jedoch, dass das ursprüngliche Liniendiagramm mit der Funktion plot gezeichnet wurde.

library(stats)
library(babynames)
library(dplyr)

plot(cars$speed, cars$dist, type = "l", col = "red",
     main = "Title of the Plot",
     xlab = "Speed (mph)",
     ylab = "Stopping Distance (Feet)")
points(cars$speed, cars$dist, col = "blue" )

lines(cars$speed, cars$dist/4 , col = "green")
points(cars$speed, cars$dist/4 , col = "black")

legend("topleft", c("line 1", "line 2"),
       lty = c(1,1),
       col = c("red", "green"))

Punkte zum Liniendiagramm hinzufügen

Die Reihenfolge der Funktionsaufrufe von plot und lines beeinflusst die Skalen von Plot

Manchmal haben die mit dem ersten Funktionsaufruf gemappten Daten Skalen, die für das folgende Mapping nicht ausreichen. Der nächste Codeausschnitt zeigt, wie eine der Zeilen im Plot fast außerhalb der Grenzen liegt.

library(stats)
library(babynames)
library(dplyr)

dat <- babynames %>%
  filter(name %in% c("Alice")) %>% filter(sex=="F")
dat2 <- babynames %>%
  filter(name %in% c("Mary")) %>% filter(sex=="F")

plot(dat$year, dat$n, type = "l", col = "blue",
     main = "Women born with different names",
     xlab = "Year",
     ylab = "Number of babies born")
lines(dat2$year, dat2$n, col = "red")

Plot- und Linienfunktionen

Beachten Sie, dass das vorherige Problem durch manuelles Neuordnen der Zeilen gelöst werden kann, wie im folgenden Beispiel gezeigt. Komplexere Skripts müssen jedoch möglicherweise bedingte Anweisungen und dynamische Überprüfungen für die Maximalwerte der y-Achsendaten erstellen.

library(stats)
library(babynames)
library(dplyr)

dat <- babynames %>%
  filter(name %in% c("Alice")) %>% filter(sex=="F")
dat2 <- babynames %>%
  filter(name %in% c("Mary")) %>% filter(sex=="F")
dat3 <- babynames %>%
  filter(name %in% c("Mae")) %>% filter(sex=="F")

plot(dat2$year, dat2$n, type = "l", col = "blue",
     main = "Women born with different names",
     xlab = "Year",
     ylab = "Number of babies born")
lines(dat$year, dat$n, col = "red")
lines(dat3$year, dat3$n, col = "orange")

legend("topright", c("Mary", "Alice", "Mae"),
       lty = c(1,1,1),
       col = c("blue", "red", "orange"))

Plot- und Linienfunktionen neu anordnen

Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

Verwandter Artikel - R Plot