1
resposta

[Projeto] Resolução do desafio proposto em aula.

#Gerando a figura para colocar os dois gráficos
fig, axs = plt.subplots(1, 2, figsize=(14,6))

#Definindo as cores do gráfico
cores = [AZUL3, VERMELHO1, VERDE2]

#Personalizano o gráfico
plt.suptitle('Produto Interno Bruto (PIB) por estado da Região Sul', fontsize=18, color=CINZA1, ha='right', x=0.57, y=1.05)

#Gráfico 1 - PIB por estado na região Sul (2002)
ptc, text, _ = axs[0].pie(data = df_pib_sul_2002, x='pib', labels=df_pib_sul_2002.index, autopct='%.2f%%',
                          pctdistance=0.6, textprops={'size': 12, 'fontweight': 'bold', 'color': BRANCO},
                          colors=cores, counterclock=False, startangle=210)

#Título do Gráfico 1
axs[0].annotate('Em 2002', xy=(50,350), size=12, xycoords='axes points',
                bbox=dict(boxstyle='round', fc=BRANCO, ec=CINZA3))

#Ajustando as cores das regiões relativas as fatias
for i, p in enumerate(ptc):
  text[i].set_color(p.get_facecolor())


#Gráfico 2 - PIB por estado na região Sul (2020)
ptc, text, _ = axs[1].pie(data = df_pib_sul_2020, x='pib', labels=df_pib_sul_2020.index, autopct='%.2f%%',
                          pctdistance=0.6, textprops={'size': 12, 'fontweight': 'bold', 'color': BRANCO},
                          colors=cores, startangle=310)

#Título do Gráfico
axs[1].annotate('Em 2020', xy=(50,350), size=12, xycoords='axes points',
                bbox=dict(boxstyle='round', fc=BRANCO, ec=CINZA3))

#Ajustando as cores das regiões relativas as fatias
for i, p in enumerate(ptc):
  text[i].set_color(p.get_facecolor())

axs[0].annotate('O estado de Santa Catarina teve\naumento na participação no PIB',
                xy=(240,265), xycoords='axes points', xytext=(295,295), textcoords='axes points',
                bbox=dict(boxstyle='round', fc=BRANCO, ec=CINZA3),
                size=10, arrowprops=dict(arrowstyle='->', fc=CINZA1, connectionstyle='arc, angleA=-90, angleB=0, armA=30, armB=30, rad=5'))

axs[1].annotate('\n\n', xy=(80,250),xycoords='axes points', xytext=(-50,290), textcoords='axes points',
                size=10, arrowprops=dict(arrowstyle='->', fc=CINZA1, connectionstyle='arc, angleA=-90, angleB=0, armA=30, armB=-30, rad=5'))


axs[0].annotate('O estado do Rio Grande do Sul\nteve redução na participação no PIB',
                xy=(240,80), xycoords='axes points', xytext=(285,30), textcoords='axes points',
                bbox=dict(boxstyle='round', fc=BRANCO, ec=CINZA3),
                size=10, arrowprops=dict(arrowstyle='->', fc=CINZA1, connectionstyle='arc, angleA=90, angleB=0, armA=30, armB=30, rad=5'))

axs[1].annotate('\n\n', xy=(80,84),xycoords='axes points', xytext=(-49.9,24), textcoords='axes points',
                size=10, arrowprops=dict(arrowstyle='->', fc=CINZA1, connectionstyle='arc, angleA=90, angleB=0, armA=30, armB=-30, rad=5'))

plt.savefig('pib_estados_sul.jpeg')
plt.show()

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Boa tarde, Victor! Como está?

Incrível! Continue resolvendo os desafios e compartilhando com a comunidade Alura.

Notei que você utilizou o plt.subplots() para organizar múltiplos gráficos lado a lado, aplicou de forma eficaz o pie() para representar proporcionalmente os dados do PIB e compreendeu a importância do annotate() com setas e caixas de texto para destacar informações relevantes diretamente nos gráficos.

Um próximo passo interessante seria explorar o ax.legend() para criar uma legenda personalizada nos gráficos, facilitando ainda mais a leitura das categorias. Veja o exemplo:

axs[0].legend(['Paraná', 'Santa Catarina', 'Rio Grande do Sul'], loc='upper right')

Resultado: Uma legenda visível no canto superior direito do primeiro gráfico.

Isso permite guiar melhor o leitor, que pode identificar facilmente as categorias sem depender somente das cores.

Ícone de sugestão Para saber mais:

Sugestão de conteúdo para você mergulhar ainda mais sobre o tema:

Alguns materiais estão em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!