2012-02-28 22 views
0

のグラフを作成できません。gnuplot-pyを使用しています。日付の時間軸をチャートにプロットしたいと思います。私はgnuplotを単独で使用し、うまく動作します。ここ はコードの例です:gnuplot-pyは日時軸

import Gnuplot 

    out_file = 'cpu.png' 
    out_file_str = 'set out "'+out_file+'"' 

    data = (('10-02-2012 18:00:36', '3.547'), ('10-02-2012 18:01:06', '3.962'), ('10-02-2012 18:04:06', '8.071'), ('10-02-2012 18:35:36', '3.513'), ('10-02-2012 18:47:06', '3.869'), ('10-02-2012 18:51:06', '3.988'), ('10-02-2012 18:56:06', '3.869'), ('10-02-2012 18:56:36', '3.811'), ('10-02-2012 18:59:36', '4.01')) 
    data1 = [] 
    for tup in data: 
    tmp = [] 
    tmp.append(tup[0]) 
    tmp.append(tup[1]) 
    data1.append(tmp) 
    ytics = 10 
    start_range = '"10-02-2012 18:00:00"' 
    end_range = '"10-02-2012 19:00:00"' 
    xrange = (start_range, end_range) 
    yrange = (0, 50) 

    chart = Gnuplot.Gnuplot() 
    set_term = 'set terminal png truecolor size 780,464' 
    chart(set_term) 
    chart(out_file_str) 

    chart('set xdata time') 
    set_timefmt = 'set timefmt "%d-%m-%Y %H:%M:%S"' 
    chart(set_timefmt) 
    set_xformat = 'set format x "%H:%M\\n%d.%m"' 
    chart(set_xformat) 
    set_yformat = 'set format y "%.0f"' 
    chart(set_yformat) 
    set_yticformat = 'set ytics format "%.0f"' 
    chart(set_yticformat) 
    chart('set ytics out nomirror') 
    chart('set grid xtics ytics mxtics mytics') 
    chart('set xtics axis out scale 1.0,0.1 nomirror') 
    chart('set key out horiz') 
    chart('set key center') 
    chart('set key bmargin') 

    set_ytics = 'set ytics ' + str(ytics) 
    chart(set_ytics) 
    chart.set_range('xrange', xrange) 
    chart(out_file_str) 
    chart.plot(data1) 

、それがこのエラーを返します:私が間違って

Traceback (most recent call last): 
     File "./test-gnuplot2.py", line 61, in <module> 
     chart.plot(data1) 
     File "/usr/lib/python2.7/site-packages/Gnuplot/_Gnuplot.py", line 284, in plot 
     self._add_to_queue(items) 
     File "/usr/lib/python2.7/site-packages/Gnuplot/_Gnuplot.py", line 254, in _add_to_queue 
     self.itemlist.append(PlotItems.Data(item)) 
     File "/usr/lib/python2.7/site-packages/Gnuplot/PlotItems.py", line 549, in Data 
     data = utils.float_array(data[0]) 
     File "/usr/lib/python2.7/site-packages/Gnuplot/utils.py", line 33, in float_array 
     return numpy.asarray(m, numpy.float32) 
     File "/usr/lib/python2.7/site-packages/numpy/core/numeric.py", line 235, in asarray 
     return array(a, dtype, copy=False, order=order) 
    ValueError: invalid literal for float(): 10-02-2012 18:00:36 

何をしているのですか? 申し訳ありませんが、私はpythonで新しいです。

答えて

0

は、あなたがする何を意味するか、このです:

for d in data1: 
    chart.plot(d[0],d[1]) 
+0

私はそれが正しい方法だと思いますが、私は別のエラーがあります: 'はgnuplot>プロット2012年10月2日18時35分36秒、13.513ライン0を: ';' '。空白の日付にエラーが表示されます。私はさまざまな方法を試しましたが、結果は同じです(datetimeに変換し、文字列に連結します)。 gnuplot-pyのdatetime x軸を使ってアドバイスやライブサンプルを教えていただけますか?同じ指示がgnuplotでうまくいきます。 –

関連する問題