La funzione scale_y_continuous in R
-
Usa
scale_y_continuous
per stampare le etichette dell’asse Y come percentuali in R -
Usa
scale_y_continuous
per impostare il rapporto di ridimensionamento dell’asse Y in R -
Usa
scale_y_continuous
per rimuovere le etichette sull’asse Y in R -
Usa
scale_y_continuous
per modificare le etichette dell’asse Y con valori personalizzati 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)
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)
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)
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)
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