Olá, Lourenço! Tudo bem?
O erro "AttributeError: 'NoneType' object has no attribute 'legend'"
indica que a variável ax
está recebendo um valor None
, ou seja, a função grafico_vendas_regiao()
provavelmente não está retornando um objeto válido do tipo Axes
.
Certifique-se de que a função de fato retorne um objeto Axes
do Matplotlib, como aquele gerado por plt.gca()
ou plt.subplots()
. Se ela não tiver return
, ou retornar implicitamente None
, isso causará o erro.
O código da função deve ser:
def grafico_vendas_regiao():
# Definindo as cores do gráfico
cores = [AZUL2, AZUL3, AZUL4, CINZA3, CINZA4]
# Gerando o gráfico de colunas empilhadas
ax = vendas_reg.plot(kind="bar", stacked=True, figsize=(10,6), color=cores)
# Personalizando o gráfico
ax.set_title('Vendas das lojas de departamentos por região\nde 2016 a 2019', loc='left', fontsize=22, color=CINZA1)
ax.set_xlabel('')
ax.set_ylabel('')
ax.set_yticklabels([])
ax.xaxis.set_tick_params(labelsize=14, labelcolor=CINZA2, rotation=0)
ax.set_frame_on(False)
# Remover todos os ticks dos eixos
ax.tick_params(axis="both", which="both", length=0)
# Anotando uma conclusão no gráfico
ax.text(3.35, 1.1e6, '87%', fontweight='bold', fontsize=20, color=AZUL1)
ax.text(3.35, 5.5e5,
'das vendas nas lojas\n'
'estão concentradas nas regiões\n'
'$\\bf{Sudeste}$, $\\bf{Nordeste}$ e\n'
'$\\bf{Centro-Oeste}$ em 2019.',
fontsize=14,
linespacing=1.45,
color=AZUL1)
return ax
Na sequência, é importante atribuir corretamente o retorno da função:
ax = grafico_vendas_regiao()
Caso já esteja fazendo isso corretamente, recomendo reiniciar a sessão e executar tudo novamente, seguindo os passos abaixo:
- No menu superior do Google Colab, clique em "Ambiente de execução";
- Selecione a opção "Reiniciar sessão e executar tudo".
Você pode se guiar pela imagem a seguir:
Espero ter ajudado.
Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!