Estou um pouco confuso sobre como esse código funciona:
fig, axes = plt.subplots(nrows=2, ncols=2)
plt.show()
Como os figos, eixos funcionam neste caso? O que isso faz?
Também por que isso não funcionaria para fazer a mesma coisa:
fig = plt.figure()
axes = fig.subplots(nrows=2, ncols=2)
python
matplotlib
subplot
bugsyb
fonte
fonte
Respostas:
Há várias maneiras de fazer isso. O
subplots
método cria a figura junto com as subparcelas que são armazenadas naax
matriz. Por exemplo:No entanto, algo assim também funcionará, embora não seja tão "limpo", pois você está criando uma figura com subtramas e adicionando-as em cima delas:
fonte
plot(x, y)
eu ter meu gráfico vindo de uma função definida pelo usuário, que cria um gráfico com o networkx. Como usá-lo?axn = ax.flatten()
e depoisfor axes in axn: axes.plot(x,y)
fonte
ax
é, mas não o que éfig
. O que eles são?matplotlib.figure.Figure
classe através da qual você pode fazer muita manipulação na figura plotada. por exemplo, você pode adicionar a barra de cores a subparcelas específicas, alterar a cor do plano de fundo por trás de todas as subparcelas. você pode modificar o layout dessas subparcelas ou adicionar um novo machado pequeno a elas. de preferência, você pode querer um único título principal para todas as subparcelas que podem ser obtidas através dofig.suptitle(title)
método finalmente, quando estiver satisfeito com o gráfico, você poderá salvá-lo usando ofig.savefig
método @LeevoVocê também pode descompactar os eixos na chamada de subparcelas
E defina se você deseja compartilhar os eixos xey entre as subparcelas
Como isso:
fonte
Você pode estar interessado no fato de que, a partir do matplotlib versão 2.1, o segundo código da pergunta também funciona bem.
No log de alterações :
Exemplo:
fonte
leia a documentação: matplotlib.pyplot.subplots
pyplot.subplots()
retorna uma tuplafig, ax
que é descompactada em duas variáveis usando a notaçãoo código
não funciona porque
subplots()
é uma função quepyplot
não é membro do objetoFigure
.fonte