"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como exibir datas com precisão no eixo X de um gráfico de linhas do Dataframe do Pandas?

Como exibir datas com precisão no eixo X de um gráfico de linhas do Dataframe do Pandas?

Publicado em 2024-11-21
Navegar:517

How to Display Dates Accurately on the X-axis of a Pandas Dataframe Line Plot?

Pandas Dataframe Line Plot: Exibir data no eixo X com precisão

Para exibir datas com precisão no eixo x de uma linha Pandas Dataframe plot, é importante entender as incompatibilidades entre os utilitários de data e hora do Pandas e do Matplotlib.

O módulo de datas do Matplotlib lida com data e hora objetos como números de ponto flutuante que representam o tempo em dias desde 0001-01-01 UTC, com um deslocamento de 1. Isso difere do formato usado pelo Pandas, levando a possíveis problemas.

Para resolver esse problema, um pode desativar os recursos de manipulação de data e hora do Pandas e, em vez disso, confiar nas opções de formatação do Matplotlib. Isso pode ser conseguido definindo x_compat=True ao plotar o Dataframe:

test.plot(x_compat=True)

No entanto, essa abordagem também significa sacrificar os sofisticados recursos de formatação de data do Pandas. Para superar essa limitação, considere usar a formatação do Matplotlib diretamente:

ax.xaxis.set_major_locator(dates.DayLocator())
ax.xaxis.set_major_formatter(dates.DateFormatter('%d\n\n%a'))

Ao usar o DayLocator e o DateFormatter do módulo de datas do Matplotlib, você pode personalizar a exibição da data sem comprometer a precisão.

Além disso, você pode inverter o eixo x e formatar automaticamente o datas:

ax.invert_xaxis()
plt.gca().autofmt_xdate(rotation=0, ha="center")

Esta abordagem fornece flexibilidade na formatação de datas, garantindo compatibilidade entre Pandas e Matplotlib.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3