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.
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