python gnuplot从fi读取

2024-04-27 04:50:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含以下数据的文件第一个字段是unixtimestam

1351734672.095 25
1351734674.449 52
1351734676.638 612
1351734680.669 44
1351734681.121 16
1351734684.182 15
1351734684.386 17
1351734686.823 16
1351734689.807 22
1351734689.807 28

如何将x,y从这个文件加载到python?

#!/usr/bin/env python

from numpy import *
import Gnuplot

g = Gnuplot.Gnuplot()
g.title('My Systems Plot')
g.xlabel('Date')
g.ylabel('Value')
g('set term png')
g('set out "output.png"')
proc = open("response","r")
databuff = Gnuplot.Data(proc.read(), title="test")
g.plot(databuff)

目前这不起作用…有什么想法吗??

更新:

#!/usr/bin/env python
from numpy import *
import Gnuplot

g = Gnuplot.Gnuplot()
g.title('My Systems Plot')
g.xlabel('Date')
g.ylabel('Response')
g('set auto x')
g('set term png')
g('set out "output.png"')
g('set timefmt "%s"')
g('set xdata time')
g('set xtic rotate by 45 scale 1 font ",2"')
g('set key noenhanced')
g('set format x "%H:%M:%S"')
g('set grid')


databuff = Gnuplot.File("repo", using='1:2',title="test")
g.plot(databuff)

enter image description here

xaxis上的时间值与图形重叠..有什么想法吗??


Tags: 文件fromimportnumpyenvbinplotpng
1条回答
网友
1楼 · 发布于 2024-04-27 04:50:27

使用Gnuplot.File而不是Gnuplot.Data,可以得到以下曲线图:

output.png

#!/usr/bin/env python

#from numpy import *
import Gnuplot

g = Gnuplot.Gnuplot()
g.title('My Systems Plot')
g.xlabel('Date')
g.ylabel('Value')
g('set term png')
g('set out "output.png"')
#proc = open("response","r")
#databuff = Gnuplot.Data(proc.read(), title="test")

databuff = Gnuplot.File("response", using='1:2',with_='line', title="test")
g.plot(databuff)


更新:

对于重叠,可以将45更改为-45

#g('set xtic rotate by 45 scale 1 font ",2"')
g('set xtic rotate by -45 scale 1 font ",2"')

enter image description here

相关问题 更多 >