La funzione scale_y_continuous in R

Jinku Hu 15 febbraio 2024
  1. Usa scale_y_continuous per stampare le etichette dell’asse Y come percentuali in R
  2. Usa scale_y_continuous per impostare il rapporto di ridimensionamento dell’asse Y in R
  3. Usa scale_y_continuous per rimuovere le etichette sull’asse Y in R
  4. Usa scale_y_continuous per modificare le etichette dell’asse Y con valori personalizzati in R
La funzione scale_y_continuous in R

Questo articolo introdurrà la funzione scale_y_continuous in R.

Usa scale_y_continuous per stampare le etichette dell’asse Y come percentuali in R

scale_y_continuous viene utilizzato per impostare i valori per l’estetica della scala continua dell’asse y. La funzione fa parte del pacchetto ggplot2 ed è usata principalmente con oggetti ggplot per modificare diversi parametri per i grafici da disegnare. Questo esempio dimostra l’uso di scale_y_continuous per stampare le etichette dell’asse Y come valori percentuali. Nota che, il grafico a barre impilato viene creato usando la chiamata alla funzione geom_col(position = "fill") e le percentuali sono stampate usando la funzione scales::percent come valore del parametro labels. Poiché abbiamo incluso il pacchetto scales usando la chiamata library, è possibile fare riferimento ad esso usando la notazione percent nell’ambito di questo script.

library(ggplot2)
library(gridExtra)
library(scales)

p1 <- ggplot(OrchardSprays, aes(x = rowpos, y = decrease, fill = treatment)) +
  geom_col(position = "fill")

p2 <- ggplot(OrchardSprays, aes(x = rowpos, y = decrease, fill = treatment)) +
  geom_col(position = "fill") +
  scale_y_continuous(labels = percent)

grid.arrange(p1, p2, ncol = 2, nrow =2)

scale_y_continuo in r 1

Usa scale_y_continuous per impostare il rapporto di ridimensionamento dell’asse Y in R

Si può anche utilizzare scale_y_continuous per impostare la scala dell’asse y e il valore di incremento per stampare l’etichetta successiva. La funzione seq viene utilizzata per passare la sequenza numerica al parametro breaks nella chiamata scale_y_continuous. Interpreta i numeri come rappresentazione seq(from, to, by= ).

library(ggplot2)
library(gridExtra)
library(scales)

p1 <- ggplot(OrchardSprays, aes(x = rowpos, y = decrease, fill = treatment)) +
  geom_col(position = "fill")

p2 <- ggplot(OrchardSprays, aes(x = rowpos, y = decrease, fill = treatment)) +
  geom_col(position = "fill") +
  scale_y_continuous(labels = percent)

p3 <- ggplot(OrchardSprays, aes(x = treatment, y = decrease)) +
  geom_point(colour = "blue")

p4 <- ggplot(OrchardSprays, aes(x = treatment, y = decrease)) +
  geom_point(colour = "brown") +
  scale_y_continuous(breaks = seq(0, 150, 10))

grid.arrange(p1, p2, p3, p4, ncol = 2, nrow =2)

scale_y_continuo in r 2

Usa scale_y_continuous per rimuovere le etichette sull’asse Y in R

In alternativa, possiamo rimuovere completamente le etichette sull’asse y usando la funzione scale_y_continuous. Per questo, dobbiamo passare il valore NULL come parametro breaks. Si noti che tracciamo due grafici per il confronto visivo con la funzione grid.arrange.

library(ggplot2)
library(gridExtra)

p3 <- ggplot(OrchardSprays, aes(x = treatment, y = decrease)) +
  geom_boxplot(fill = "cyan")

p4 <- ggplot(OrchardSprays, aes(x = treatment, y = decrease)) +
  geom_boxplot(fill = "pink") +
  scale_y_continuous(breaks = NULL)

grid.arrange(p3, p4, ncol = 2, nrow =2)

scale_y_continuo in r 3

Usa scale_y_continuous per modificare le etichette dell’asse Y con valori personalizzati in R

Alcuni dei metodi precedenti possono essere combinati per formare una formattazione più avanzata dell’estetica dell’asse y. Nel seguente frammento di codice, specifichiamo esplicitamente diverse etichette da stampare e contemporaneamente definiamo nuovi valori per esse utilizzando il parametro labels. Notare che i nuovi valori sono solo notazioni numeriche esadecimali per i numeri corrispondenti. Infine, rinominiamo la scala dell’asse y con la stringa data e l’asse x, cosa che viene eseguita utilizzando la funzione scale_x_discrete.

library(ggplot2)
library(gridExtra)

p3 <- ggplot(OrchardSprays, aes(x = treatment, y = decrease)) +
  geom_boxplot(fill = "cyan")

p4 <- ggplot(OrchardSprays, aes(x = treatment, y = decrease)) +
  geom_boxplot(fill = "pink") +
  scale_y_continuous(
    breaks = c(50, 60, 70, 80, 90, 100, 110),
    labels = c("32", "3C", "46", "50", "5A", "64", "6E"),
    name = "Decrease\n(hex)") +
  scale_x_discrete(name = "Treatment")

grid.arrange(p3, p4, ncol = 2, nrow =2)

scale_y_continuo in r 4

Autore: 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

Articolo correlato - R Plot