Gnuplot et date

Gnuplot et date - Python - Programmation

Marsh Posté le 05-04-2010 à 23:46:09    

Bonjour,
 
Je n'arrive pas à créer un graphique avec gnuplot et la date en abscisse. Voici la partie du code incriminé :

Code :
  1. #!/usr/bin/python
  2. iso = Gnuplot.Gnuplot(debug=1)
  3. iso.title('Sensibilite iso'
  4. iso('set data style linespoints')
  5. iso('set xdata time')
  6. iso('set timefmt "%H/%M/%S"')
  7. iso('set format x "%r"')
  8. iso('set terminal png')
  9. iso('set output "bla.png"')
  10. print ldate,liso
  11. diso = Gnuplot.Data(ldate,liso,title="sin(x)",using="1:2" )
  12. iso.plot(diso)


Et voici la sortie :  

Code :
  1. python test.py
  2. gnuplot> set title "Sensibilite iso"
  3. gnuplot> set data style linespoints
  4. gnuplot> set xdata time
  5. gnuplot> set timefmt "%H/%M/%S"
  6. gnuplot> set format x "%r"
  7. gnuplot> set terminal png
  8. gnuplot> set output "bla.png"
  9. ['14/42/05', '14/42/11', '14/43/00', '14/43/11', '14/44/44', '14/44/48', '14/44/53', '14/45/14', '14/45/20', '14/45/52', '14/46/31', '14/46/34', '14/46/41', '14/46/51', '14/46/54', '14/47/21', '14/48/50', '14/48/55'] [' 100', ' 100', ' 100', ' 200', ' 200', ' 400', ' 400', ' 400', ' 400', ' 400', ' 200', ' 200', ' 400', ' 400', ' 400', ' 400', ' 400', ' 200']
  10. Traceback (most recent call last):
  11.   File "test.py", line 69, in <module>
  12.     diso = Gnuplot.Data(ldate,liso,title="sin(x)",using="1:2" )
  13.   File "/usr/lib/python2.5/site-packages/Gnuplot/PlotItems.py", line 560, in Data
  14.     data = utils.float_array(data)
  15.   File "/usr/lib/python2.5/site-packages/Gnuplot/utils.py", line 33, in float_array
  16.     return numpy.asarray(m, numpy.float32)
  17.   File "/usr/lib/python2.5/site-packages/numpy/core/numeric.py", line 230, in asarray
  18.     return array(a, dtype, copy=False, order=order)
  19. ValueError: setting an array element with a sequence.


 
J'ai essayé différents formats de date mais dans tout les cas, ça coince. Le graphique fonctionne si je remplace la date par un xrange(len(ldate)).
 
Une idée ? Merci
 


---------------
2 * yo = yoyo
Reply

Marsh Posté le 05-04-2010 à 23:46:09   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed