Elementos auxiliares (Grid)
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.
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.
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 eixox
; -
"y"
: grid inseridos apenas no eixoy
; -
"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.
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.
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 str
de 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.
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.
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.