1
resposta

Escala do Gráfico

Boa noite, estou realizando o plot do gráfico, porém os dados do eixo y são colocados na notação 1e6, gostaria de retirar essa notação e exibir o número, como por exemplo: 2000000 em vez de 2e6. Alguém sabe como mudar essa configuração. Agradeço a ajuda.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Boas Taís! Tudo bem? Espero que sim!

Esse é um problema um tanto quanto comum, e por isso mesmo existem algumas funções que podem nos auxiliar!

A primeira coisa que precisamos fazer é importar o formatador de ticks, vou usar o FormatStrFormater.

from matplotlib.ticker import FormatStrFormatter

Esse formatador consegue mudar a forma que os dados ficam apresentados no eixo a partir de uma string que vai definir as o número de casas de precisão.

Agora, vou gerar o gráfico, de uma forma um pouco diferente: para conseguir trabalhar com os tick, vou primeiro extrair os eixos e figuras e depois trabalhar na formatação:

fig, ax = plt.subplots()

Agora, vou fazer a formatação. Para isso vou acesar o ax, acessar o eixo y, e usar a função set_major_formatter(), passando como parâmetro o formatador que importamos, e definido as casas de precisão:

ax.yaxis.set_major_formatter(FormatStrFormatter('% 1.0f'))

Essa string funciona da seguinte forma, a porcentagem é obrigatória, o primeiro número se refere ao número de casas de precisão da parte inteira, e a segunda, da parte decimal.

Eu vou manter 1.0, para ter o número sem a notação científica e o 0 porque não me interesso nesse momento pelas casas decimais.

Agora sim, posso fazer o plot do gráfico, que resulta na seguinte imagem:

PS: Não estou trabalhando com os mesmos dados.

Gráfico de linhas com números em bilhões de dólares  no eixo y e com números de 1 a 3 no eixo x. O gráfico mostra uma reta pouco acentuada até o valor 2 do eixo x e depois um aumento da inclinação da reta.