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