A função scale_y_continuous em R
-
Use
scale_y_continuous
para imprimir etiquetas do eixo Y como porcentagens em R -
Use
scale_y_continuous
para definir a proporção de escala do eixo Y em R -
Use
scale_y_continuous
para remover rótulos no eixo Y em R -
Use
scale_y_continuous
para modificar os rótulos do eixo Y com valores personalizados em R
Este artigo irá apresentar a função scale_y_continuous
em R.
Use scale_y_continuous
para imprimir etiquetas do eixo Y como porcentagens em R
scale_y_continuous
é usado para definir valores para a estética da escala do eixo y contínuo. A função é parte do pacote ggplot2
e é usada principalmente com objetos ggplot
para modificar diferentes parâmetros para gráficos a serem desenhados. Este exemplo demonstra o uso de scale_y_continuous
para imprimir rótulos do eixo Y como valores percentuais. Observe que o gráfico de barras empilhadas é criado usando a chamada de função geom_col(position = "fill")
e as porcentagens são impressas usando a função scales::percent
como o valor do parâmetro labels
. Uma vez que incluímos o pacote scales
usando a chamada library
, é possível referir-se a ele usando a notação percent
no escopo deste 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)
Use scale_y_continuous
para definir a proporção de escala do eixo Y em R
Também se pode utilizar scale_y_continuous
para definir a escala do eixo y e o valor de incremento para imprimir a próxima etiqueta. A função seq
é usada para passar a sequência numérica para o parâmetro breaks
na chamada scale_y_continuous
. Ele interpreta os números como representação 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)
Use scale_y_continuous
para remover rótulos no eixo Y em R
Como alternativa, podemos remover totalmente os rótulos no eixo y usando a função scale_y_continuous
. Para isso, precisamos passar o valor NULL
como o parâmetro breaks
. Observe que desenhamos dois gráficos para comparação visual com a função 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)
Use scale_y_continuous
para modificar os rótulos do eixo Y com valores personalizados em R
Alguns dos métodos anteriores podem ser combinados para formar uma formatação mais avançada da estética do eixo y. No fragmento de código a seguir, especificamos explicitamente vários rótulos a serem impressos e, simultaneamente, definimos novos valores para eles usando o parâmetro rótulos
. Observe que os novos valores são apenas notações numéricas hexadecimais para os números correspondentes. Finalmente, renomeamos a escala do eixo y com a string dada e o eixo x, o que é feito usando a função 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