How to change values on the y-axis

Asked

Viewed 55 times

3

How do I change the values of the y-axis to 0,5,10,15,20?

# Dados da produção da aquicultura 2013-2019
producao_aquicultura = 
  structure(list(Valor = c(19350491, 22082777, 21063695, 20828670, 20941404, 
                           14202340, 15215778), Ano = c("2013", "2014", "2015", 
                                                        "2016", "2017", "2018", 
                                                        "2019")), 
            row.names = c(NA, -7L), class = c("tbl_df", "tbl", "data.frame"))

# Gera o gráfico de barra
ggplot(producao_aquicultura, aes(x=Ano, y=Valor)) +
  geom_bar(stat = "identity") +
  scale_y_continuous("Milhões de toneladas (kg)") +
  labs(title = "Produção de ostras, vieiras e mexilhões no Brasil")

Imagem gerada pelo ggplot

1 answer

6


I can see at least two ways to do this. The first one is more crude. Just split the column Valor for a million (1e6).

library(tidyverse)

# Gera o gráfico de barra
ggplot(producao_aquicultura, aes(x=Ano, y=Valor/1e6)) +
    geom_bar(stat = "identity") +
    scale_y_continuous("Milhões de toneladas (kg)") +
    labs(title = "Produção de ostras, vieiras e mexilhões no Brasil")

The second way is to use the function label_number package scales. In that case, it is necessary to inform

  • the accuracy of the number (put 1 to round to pieces)
  • the unit (the letter m is the standard)
  • the transformation scale of the numbers (in this case, 10^(-6))

library(scales)

# Gera o gráfico de barra
ggplot(producao_aquicultura, aes(x=Ano, y=Valor)) +
    geom_bar(stat = "identity") +
    scale_y_continuous("Milhões de toneladas (kg)", 
                       labels = label_number(accuracy = 1, unit = "", scale = 1e-6)) +
    labs(title = "Produção de ostras, vieiras e mexilhões no Brasil")

Created on 2021-05-28 by the reprex package (v2.0.0)

  • 1

    Wow, very good. Solved the problem. Thank you!

Browser other questions tagged

You are not signed in. Login or sign up in order to post.