1
resposta

[Sugestão] Decidi fazer dessa maneira

Inseri os pontos máximos e mínimos no gráfico duplo. Existe alguma maneira mais prática de fazer esse resutlado? O que poderia melhorar no gráfico?

df_maio = df[(df['data'] >= '2014-5-1') & (df['data'] < '2014-6-1')]

fig = plt.figure(figsize=(15, 4))

eixo = fig.add_axes([0, 0, 1, 1])
eixo.plot(df['data'], df['temperatura'], color= 'g', lw=1)
eixo.set_title('Temperatura versus dias de 2014', fontsize=25)
eixo.set_xlim(datetime.datetime(2014,5,1),datetime.datetime(2014,6,1))
eixo.set_ylim(250, 310)
eixo.set_ylabel('Temperatura (K)', fontsize=20)
eixo.set_xlabel('Data (dias)', fontsize=20)
eixo.legend(['Temperatura'], loc = 'lower right', fontsize=15)
eixo.grid(True)


azul_esquerda = df.data < datetime.datetime(2014,5,1)
azul_direita = df.data > datetime.datetime(2014,6,1) #Criando filtro de cor

eixo2 = fig.add_axes([0.45, 0.15, 0.3, 0.3])

eixo2.plot(df['data'], df['temperatura'], color= 'g', lw=0.15)
eixo2.plot(df[azul_esquerda]['data'], df[azul_esquerda]['temperatura'], color= 'b', lw=0.15)
eixo2.plot(df[azul_direita]['data'], df[azul_direita]['temperatura'], color= 'b', lw=0.15)

eixo.axhline(max(df_maio.temperatura), color='r', linestyle='--')
eixo.axhline(min(df_maio.temperatura), color='r', linestyle='--')
x1 = df_maio['data'][df_maio['temperatura'].idxmax()]
y1 = max(df_maio.temperatura)
x2 = df_maio['data'][df_maio['temperatura'].idxmin()]
y2 = min(df_maio.temperatura)
eixo.plot(x1, y1, 'ro')
eixo.plot(x2, y2, 'ro')

eixo2.set_title('Temperatura versus dias de maio de 2014', fontsize=18)
eixo2.set_xlim(datetime.datetime(2014,1,1),datetime.datetime(2015,1,1))
eixo2.set_ylabel('Temperatura (K)', fontsize=15)
eixo2.set_xlabel('Data (dias)', fontsize=15)
eixo2.legend(['Temperatura'], loc = 'lower right', fontsize=12)
eixo2.grid(True)

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

1 resposta

Olá, Akhenaton.

Tudo bem?

Muito obrigado por compartilhar a sua solução aqui com a gente. Parabéns por tentar e conseguir fazer. Analisando o seu código e o gráfico que você compartilhou, vejo que você fez um ótimo trabalho ao destacar os pontos máximos e mínimos no gráfico principal e no gráfico inserido. Uma maneira de melhorar ainda mais a visualização seria adicionar anotações com setas, como foi ensinado na atividade, para tornar imediatamente claro para o observador onde estão esses pontos críticos.

Além disso, você poderia considerar ajustar a espessura das linhas (lw) para valores um pouco maiores no gráfico inserido, para que as tendências sejam mais fáceis de visualizar, mesmo em um gráfico menor. Outra sugestão seria padronizar as cores dos pontos e linhas de máximo e mínimo entre os dois gráficos para manter a consistência visual.

Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos!