2012-06-18 14 views
4

J'essaie de tracer des valeurs en fonction de la date (uniquement hh: mm: ss, sans jj/mm/aa). Le code ressemble à cecimatplotlib avec des dates

dates = matplotlib.dates.date2num(x_values) 
plt.plot_date(dates, y_values) 

mais je reçois l'erreur suivante

objet '' numpy.string_ n'a pas d'attribut 'toordinal'.

Répondre

14

date2num attend datetime objets. Si vous avez des chaînes, utilisez matplotlib.dates.datestr2num.

2

Selon le docs:

matplotlib.dates.date2num (d): d est soit une instance de datetime ou une séquence de datetimes.

On dirait que vous donnez une chaîne.

0
from matplotlib import pyplot as plt <br> 
pay_date=['2016-04-30', '2016-06-28', '2016-11-29'] 
due_date=['2016-05-02', '2016-07-31', '2016-10-29'] 
plt.plot_date(pay_date,due_date,xdate=True,ydate=True) 

Il suffit d'ajouter les paramètres xdate=True et ydate=True et il tracera automatiquement les dates

et enfin écrire le code suivant, pour imprimer les lignes

plt.plot(pay_date,due_date) 
Questions connexes