0
respostas

Adicionando textos conclusivos ao gráfico

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

url = 'https://raw.githubusercontent.com/alura-cursos/python_dados/refs/heads/main/Dados/apartamentos_aluguel.csv'
df = pd.read_csv(url)
df.head()

df_regiao = df.groupby('Regiao')['Valor'].mean().sort_values(ascending = False).reset_index()
df_regiao


fig, ax = plt.subplots(figsize = (10,5))
fig.subplots_adjust(right=0.7)

ax = sns.barplot(data = df_regiao, x = 'Valor', y = 'Regiao')
ax.set_title('Média dos Alugueis dos Apartamentos\n por Região de São Paulo', fontsize = 18, pad = 20, loc = 'left')
ax.set_xlabel('')
ax.set_ylabel('')
ax.set_xticklabels([])
ax.tick_params(length = 0)
ax.set_frame_on(False)

for container in ax.containers:
    labels = [f'R$ {valor.get_width()/1000:,.2f} mil '.replace(',','.') for valor in container]
    ax.bar_label(container, label_type='edge', labels = labels, size = 10, fontweight = 'bold')

ax.text(5000, 1.5,
         'Os valores médios dos aluguéis em São Paulo\n'
        'apresentam grande disparidade entre as regiões.\n'
        'A região $\\bf{Oeste}$ apresenta preços pouco mais\n' 
        'que o $\\bf{dobro}$ dos encontrados na região $\\bf{Leste}$,\n'
        'destacando o impacto da localização\n'
        'no mercado imobiliário.',
         fontsize = 10,
         linespacing = 1.5)


plt.tight_layout()
plt.show()

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