2010-04-26 5 views
2

Je souhaite tracer la variation de temps de ma variable d'axe y en utilisant Matplotlib. Ce n'est pas un problème pour les données discrètes en continu, mais comment cela devrait-il être traité pour les données non continues.Comment tracer des données non numériques dans Matplotlib

I.e. si je voulais visualiser les moments où ma voiture était stationnaire sur le chemin du travail, l'axe des x serait le temps et l'axe des y serait composé des variables 'stationnaire' et 'mobile' (exemple assez inutile que je connais)

Les données non continues auraient besoin d'être indexées d'une façon ou d'une autre, mais je ne sais pas comment procéder ... des idées?

+1

Dans cet exemple particulier, il est juste une étape fonction - stationnaire ou en mouvement. Alors, quel est le problème avec 0 = stationnaire, 1 = en mouvement? –

+0

Peut-être que la norme ne veut pas que les lignes verticales de cette étape fonctionnent? –

Répondre

6

Est-ce le genre de choses que vous voulez? (Dans le cas contraire, vous pouvez consulter la matplotlib gallery page pour vous donner quelques idées, ou peut-être juste dessiner une image et l'afficher.)

import matplotlib.pyplot as plt 

data = [0]*5 + [1]*10 + [0]*3 +[1]*2 

print data 

fig = plt.figure() 
ax = fig.add_subplot(111) 
ax.plot(data) 
ax.set_yticks((0, 1.)) 
ax.set_yticklabels(('stopped', 'moving')) 
ax.set_ybound((-.2, 1.2)) 
ax.set_xlabel("time (minutes)") 

plt.show() 

enter image description here

Questions connexes