Aggiungi una linea a un grafico con la funzione Lines() in R

Lasha Khintibidze 21 dicembre 2022 14 luglio 2021 R R Plot
  1. Usa la funzione lines() per aggiungere una linea a un grafico in R
  2. Usa points per aggiungere punti a un diagramma in R
  3. L’ordine di chiamata delle funzioni plot e lines influisce sulle scale di Plot
Aggiungi una linea a un grafico con la funzione Lines() in R

Questo articolo introdurrà come aggiungere una linea a un grafico con la funzione lines() in R.

Usa la funzione lines() per aggiungere una linea a un grafico in R

La funzione lines() fa parte del pacchetto R graphics ed è usata per aggiungere linee al grafico. Inizialmente, la funzione plot dovrebbe essere chiamata per costruire un plot dove c’è una mappatura delle variabili specificate dai primi due argomenti. Nota che il secondo argomento, che denota le coordinate dell’asse y, è facoltativo. Una volta disegnato il grafico, possiamo chiamare la funzione lines() e passare i vettori di coordinate secondo necessità per aggiungere linee al grafico. La funzione plot non è necessaria per disegnare un grafico a linee affinché la funzione lines() funzioni.

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"))

aggiungi linea alla trama

Usa points per aggiungere punti a un diagramma in R

Simile alla funzione lines(), il pacchetto graphics fornisce la funzione points() per disegnare punti sul grafico. L’esempio seguente mostra lo scenario in cui vengono eseguite due linee e mappature di punti sullo stesso grafico. Si noti, tuttavia, che il grafico a linee originale è disegnato con la funzione plot.

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"))

aggiungi punti al grafico a linee

L’ordine di chiamata delle funzioni plot e lines influisce sulle scale di Plot

A volte, i dati mappati con la prima chiamata di funzione hanno scale che non sono sufficienti per la mappatura successiva. Il prossimo frammento di codice mostra come una delle linee sia quasi fuori limite nella trama.

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")

funzioni plot e linee

Si noti che il problema precedente può essere risolto con il riordino manuale delle linee, come mostrato nell’esempio seguente. Tuttavia, script più complessi potrebbero dover costruire istruzioni condizionali e controlli dinamici per i valori massimi dei dati dell’asse y.

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"))

riordina le funzioni di grafico e linee

Articolo correlato - R Plot

  • Aggiungi rettangolo trasparente a boxplot in R
  • Crea boxplot affiancati in R
  • La funzione scale_colour_discrete in R
  • La funzione scale_x_discrete in R
  • La funzione scale_y_continuous in R