2
respostas

plt.grid() | ax.grid()

Sei que o resultado de ambo é o mesmo, mas na prática faz alguma diferença utilizar o plt.grid ou ax.grid quando falamos de subplots?

2 respostas

Olá, Erik! Sua pergunta é bem interessante e mostra que você está realmente se aprofundando no conteúdo, o que é ótimo!

A diferença entre plt.grid() e ax.grid() não é sobre o resultado final, pois ambos adicionam uma grade ao gráfico. A diferença está na forma como você está trabalhando com a biblioteca Matplotlib.

Quando você usa plt.grid(), você está usando a interface pyplot da Matplotlib, que é projetada para ser semelhante ao MATLAB, uma plataforma de programação popular para engenheiros e cientistas. Essa interface é considerada um pouco mais fácil de usar para casos simples e é frequentemente usada para gráficos rápidos e não complexos.

Por outro lado, quando você usa ax.grid(), você está trabalhando com a interface orientada a objetos da Matplotlib. Esta interface é considerada mais poderosa e flexível, e é geralmente usada para gráficos mais complexos, ou quando você precisa de um controle mais preciso sobre seus gráficos.

No caso de subplots, a diferença fica mais evidente. Se você estiver trabalhando com vários subplots e quiser adicionar uma grade a apenas um deles, você precisará usar ax.grid(), onde ax é a variável que você usou para criar seu subplot. Por exemplo:

fig, (ax1, ax2) = plt.subplots(2)  # cria dois subplots
ax1.plot(x, y)  # plota algo no primeiro subplot
ax1.grid(True)  # adiciona grade ao primeiro subplot
ax2.plot(x, y)  # plota algo no segundo subplot
# não adicionamos grade ao segundo subplot

No código acima, uma grade é adicionada apenas ao primeiro subplot, e não ao segundo. Se você usasse plt.grid(True) em vez de ax1.grid(True), uma grade seria adicionada a ambos os subplots, pois plt.grid() afeta todo o gráfico, enquanto ax.grid() afeta apenas o subplot especificado.

Espero ter ajudado e bons estudos!

Ajudou sim, muito obrigado pelo retorno Alan.