Anotações com setas
Imagine que você é um planejador urbano de Long Beach, Califórnia. Long Beach fica no Oceano Pacífico e tem um grande show de fogos todo Réveillon. Você quer investigar se esse show impacta negativamente a qualidade do ar da cidade. Para isso, você vai analisar os níveis de CO e NO2 no Dia de Ano-Novo. No entanto, acontece que o Dia de Ano-Novo não é um dos outliers no gráfico à direita; ele está em uma das áreas mais densas.
Para ajudar a guiar quem lê até esse ponto, você usará uma anotação junto com uma seta que aponta para o valor do Dia de Ano-Novo. Isso vai criar uma anotação clara que explica o que a pessoa está vendo, enquanto imprime o texto em uma região menos congestionada do gráfico.
Este exercicio faz parte do curso
Aprimorando suas visualizações de dados em Python
Instruções do exercicio
- Pegue a linha de
jan_pollutionque corresponde ao Dia de Ano-Novo de 2012 na cidade de Long Beach usando o método.query()do pandas. - Defina o ponto final da seta (
xy) usando os valores das colunasCOeNO2do DataFramelb_newyears. - Use o argumento
xytextpara posicionar o texto da seta de anotação no canto inferior esquerdo da exibição em x =2, y =15. - "'shrink'" a seta para
0.03, para que ela não oculte o ponto de interesse.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# Query and filter to New Years in Long Beach
jan_pollution = pollution.query("(month == 1) & (year == 2012)")
lb_newyears = jan_pollution.query("(____ == ____) & (____ == '____')")
sns.scatterplot(x = 'CO', y = 'NO2',
data = jan_pollution)
# Point arrow to lb_newyears & place text in lower left
plt.annotate('Long Beach New Years',
xy = (____, ____),
xytext = (____, _____),
# Shrink the arrow to avoid occlusion
arrowprops = {'facecolor':'gray', 'width': 3, '____': ____},
backgroundcolor = 'white')
plt.show()