Comece agoraComece grátis

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

Ver curso

Instruções do exercicio

  • Pegue a linha de jan_pollution que 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 colunas CO e NO2 do DataFrame lb_newyears.
  • Use o argumento xytext para 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()
Editar e Executar Código