xlabel pyplot outside legends example python datetime matplotlib bar-chart

python - pyplot - gráfico de barras matplotlib con fechas



subplot python (1)

Todo plot_date hace es trazar la función y la llamada ax.xaxis_date() .

Todo lo que debes hacer es esto:

import numpy as np import matplotlib.pyplot as plt import datetime x = [datetime.datetime(2010, 12, 1, 10, 0), datetime.datetime(2011, 1, 4, 9, 0), datetime.datetime(2011, 5, 5, 9, 0)] y = [4, 9, 2] ax = plt.subplot(111) ax.bar(x, y, width=10) ax.xaxis_date() plt.show()

Sé sobre plot_date() pero ¿hay una bar_date() por ahí?

El método general sería usar set_xticks y set_xticklabels , pero me gustaría algo que pueda manejar escalas de tiempo desde unas pocas horas hasta algunos años (esto implica involucrar los tics mayores y menores para que las cosas sean legibles, creo).

Editar: me di cuenta de que estoy trazando los valores asociados con un intervalo de tiempo específico (que abarca la barra). Actualicé a continuación con la solución básica que utilicé:

import matplotlib.pyplot as plt import datetime t=[datetime.datetime(2010, 12, 2, 22, 0),datetime.datetime(2010, 12, 2, 23, 0), datetime.datetime(2010, 12, 10, 0, 0),datetime.datetime(2010, 12, 10, 6, 0)] y=[4,6,9,3] interval=1.0/24.0 #1hr intervals, but maplotlib dates have base of 1 day ax = plt.subplot(111) ax.bar(t, y, width=interval) ax.xaxis_date() plt.show()