import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
AZUL1, AZUL2, AZUL3, AZUL4, AZUL5 = '#03045e', '#0077b6', "#00b4d8", '#90e0ef', '#CDDBF3'
CINZA1, CINZA2, CINZA3, CINZA4, CINZA5 = '#212529', '#495057', '#adb5bd', '#dee2e6', '#f8f9fa'
VERMELHO1, LARANJA1, AMARELO1, VERDE1, VERDE2 = '#e76f51', '#f4a261', '#e9c46a', '#4c956c', '#2a9d8f'
url = 'https://raw.githubusercontent.com/alura-cursos/python_dados/refs/heads/main/Dados/apartamentos_aluguel.csv'
df_01 = pd.read_csv(url)
df_01 = df_01.groupby('Regiao')['Valor'].mean().sort_values(ascending=False).reset_index()
fig, ax = plt.subplots(figsize=(10,6))
ax = sns.barplot(data=df_01, y='Regiao', x='Valor', palette=[AZUL2, AMARELO1, VERMELHO1, VERDE2, CINZA1], hue='Regiao')
ax.set_title('Média do valor dos aluguéis em São Paulo por Região', loc='left', fontsize=18, pad=20, fontweight='bold', color=CINZA2)
ax.set_xlabel('')
ax.set_ylabel('')
ax.yaxis.set_tick_params(labelsize=12, labelcolor=CINZA2)
ax.get_xaxis().set_visible(False)
ax.set_frame_on(False)
ax.tick_params(length=0)
ax.text(2100, 3.5,
'A $\\bf{Zona}$ $\\bf{Oeste}$ é a região\ncom aluguéis mais $\\bf{caros}$ de\n$\\bf{São}$ $\\bf{Paulo}$',
fontsize=14, color=AZUL2, linespacing=1.5)
for i, valor in enumerate(df_01['Valor']):
qtd = f'R$ {valor:.2f}'.replace('.', ',')
offset = 100
ax.text(valor - offset, i, qtd, fontsize=14, fontweight='bold', ha='right', va='center', color=CINZA4)
fig.show()