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 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.

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.