Elementos auxiliares (Grid)

3 minute read


O grid é um elemento constituído por linhas verticais e horizontais, que são utilizados para guiar ou dar forma ao gráfico. Entretanto, o grid não faz parte da informação que se pretende passar em um gráfico, e certamente este não é um elemento adequado para publicações científicas, sendo considerado por muitos autores, como lixo gráfico.

Contudo, ele pode ser muito útil na etapa de interpretação de resultados, e também em gráficos utilizados em apresentações, sendo utilizado para dar suporte para o leitor que tem pouco tempo para observar o gráfico. Atente que, em um artigo científico ou um pôster físico, o leitor tem boa uma quantidade de tempo para ler e compreender o gráfico, enquanto que em uma apresentação, este tempo é bastante escasso (dificilmente passando de 1 minuto) o que talvez justifique seu uso.

Conjunto de dados

Para exemplificar como inserir o elemento de grid é utilizado um conjunto de dados genérico, apenas para existir referência visual. Esta referência visual é feita criando um gráfico de dispersão.

import matplotlib.pyplot as plt

x = [1,2,3,4]
y = [1,2,3,4]

plt.figure(figsize=(8,6))
plt.scatter(x, y)
plt.show()

Figura 1 - Gráfico de dispersão.

gráfico de dispersão desenhado com matplotlib


Para inserir linhas de grid em um gráfico, utilizamos o método plt.grid(), que não demanda nenhum parâmetro. Por exemplo:

plt.figure(figsize=(8,6))
plt.scatter(x, y)
plt.grid()
plt.show()

Figura 2 - Gráfico de dispersão com grid.

gráfico de dispersão desenhado com matplotlib com grid


Entretanto, é possível controlar todas as linhas do grid, o que é feito passando alguns parâmetros para o plt.grid(). Para controlar a inserção ou não do grid, podemos passar o parâmetro b, que recebe um valor bool, onde True (padrão) insere o grid, e False não insere o grid. Caso algum outro parâmetro seja passado, o grid sempre será inserido, com a exceção de quando for passado b = False.

Eixos

É possível determinar em qual eixo o grid será desenhado, o que é feito através do parâmetro axis. Este parâmetro recebe uma str de referência, que pode ser:

  • "x": grid inseridos apenas no eixo x;

  • "y": grid inseridos apenas no eixo y;

  • "both": grid inseridos em ambos os eixos (padrão);

Por exemplo:

plt.figure(figsize=(8,6))
plt.scatter(x, y)
plt.grid(axis='x')
plt.show()

Figura 3 - Gráfico de dispersão com grid apenas na vertical.

gráfico de dispersão desenhado com matplotlib com grid apenas na vertical


Outro exemplo:

plt.figure(figsize=(8,6))
plt.scatter(x, y)
plt.grid(axis='y')
plt.show()

Figura 4 - Gráfico de dispersão com grid apenas na horizontal.

gráfico de dispersão desenhado com matplotlib com grid apenas na horizontal


Posição

É possível determinar em qual posição o grid será inserido baseado nos ticks do gráfico. Para isto, é necessário passar a opção escolhida para o parâmetro which, que recebe um strde referência. Temos três opções:

  • "major": insere linhas de grid apenas nos ticks principais (padrão);

  • "minor": insere linhas de grid apenas nos ticks secundários;

  • "both": insere linhas de grid em ambos os ticks;

Para inserir os minor ticks no gráfico, podemos utilizar o plt.minorticks_on(). Maiores detalhes na documentação.

Por exemplo, inserindo grids apenas na posição dos ticks secundários:

plt.figure(figsize=(8,6))
plt.scatter(x, y)
plt.minorticks_on()
plt.grid(which='minor')
plt.show()

Figura 5 - Gráfico de dispersão com grid baseado nos minor tics.

gráfico de dispersão desenhado com matplotlib com grid baseado nos minor *ticks


Caso queira inserir o grid em ambos os ticks, basta passar which = "both":

plt.figure(figsize=(8,6))
plt.scatter(x, y)
plt.minorticks_on()
plt.grid(which='both')
plt.show()

Figura 6 - Gráfico de dispersão com grid baseado nos minor e major tics.

gráfico de dispersão desenhado com matplotlib com grid baseado nos minor e major *ticks


Edições

O plt.grid() aceita uma série de parâmetros para a sua edição, sendo possível alterar a cor de preenchimento (color ou facecolor), remover o preenchimento (fill), inserir linhas (linestyle, linewidth, edgecolor), inserir estilos de preenchimento (hatch), adicionar transparência (alpha), determinar a ordem de plotagem (zorder), inserir nome para legenda (label), entre outros, de forma muito similar ao que vimos até o momento.

Você encontra maiores detalhes na documentação.


Quando devo utilizar grid?

Sempre

Nunca

Apenas no dia 29 de fevereiro

Apenas quando necessário


Anterior Próximo

Updated: