History

use options structure for plot_audio plot_spec use options structure for plot_audio plot_spec

Paul Brossier committed 20 years ago

Commit 33cf5411 parent 0ab19df3 files · +43 −36Browse files

Showing the changes to python (3 of 3 files). Show all

Unified · Split

3 files
  1. python/aubio/gnuplot.py +41 −29
  2. python/aubioplot-audio +1 −3
  3. python/aubioplot-spec +1 −4
python/aubio/gnuplot.py+41−29
@@ -21,9 +21,6 @@ __LICENSE__ = """\ · 20 unmodified lines
2121 """
2222
2323
24−__notesheight = 0.25
25−
26−
2724 def audio_to_array(filename):
2825 import aubio.aubioclass
2926 import numarray
@@ -45,16 +42,15 @@ def audio_to_array(filename): · 15 unmodified lines
4542 time = numarray.arange(len(data))*framestep
4643 return time,data
4744
48−def plot_audio(filenames, g, start=0, end=None, noaxis=None,xsize=1.,ysize=1.):
45+def plot_audio(filenames, g, options):
4946 d = []
5047 todraw = len(filenames)
5148 xorig = 0.
5249 xratio = 1./todraw
53− #g('set rmargin 7')
5450 g('set multiplot;')
5551 while (len(filenames)):
5652 time,data = audio_to_array(filenames.pop(0))
57− if not noaxis and todraw==1:
53+ if todraw==1:
5854 if max(time) < 1.:
5955 time = [t*1000. for t in time]
6056 g.xlabel('Time (ms)')
@@ -62,13 +58,13 @@ def plot_audio(filenames, g, start=0, end=None, noaxis=None,xsize=1.,ysize=1.): · 1 unmodified line
6258 g.xlabel('Time (s)')
6359 g.ylabel('Amplitude')
6460 d.append(make_audio_plot(time,data))
65− g('set size %f,%f;' % (xsize*xratio,ysize) )
61+ g('set size %f,%f;' % (options.xsize*xratio,options.ysize) )
6662 g('set origin %f,0.;' % (xorig) )
6763 g('set style data lines; \
6864 set yrange [-1.:1.]; \
6965 set xrange [0:%f]' % time[-1])
7066 g.plot(d.pop(0))
71− xorig += xsize*xratio
67+ xorig += options.xsize*xratio
7268 g('unset multiplot;')
7369
7470 def audio_to_spec(filename,minf = 0, maxf = 0, lowthres = -20.,
@@ -115,34 +111,34 @@ def audio_to_spec(filename,minf = 0, maxf = 0, lowthres = -20., · 40 unmodified lines
115111 assert len(data[0]) == len(freq)
116112 return data,time,freq
117113
118−def plot_spec(filename, g, start=0, end=None, noaxis=None,log=1, minf=0, maxf= 0, xsize = 1., ysize = 1.,bufsize=8192, hopsize=1024):
114+def plot_spec(filename, g, options):
119115 import Gnuplot
120− data,time,freq = audio_to_spec(filename,minf=minf,maxf=maxf,bufsize=bufsize,hopsize=hopsize)
116+ data,time,freq = audio_to_spec(filename,
117+ minf=options.minf,maxf=options.maxf,
118+ bufsize=options.bufsize,hopsize=options.hopsize)
121119 xorig = 0.
122− if not noaxis:
123− if max(time) < 1.:
124− time = [t*1000. for t in time]
125− g.xlabel('Time (ms)')
126− else:
127− g.xlabel('Time (s)')
128− if xsize < 0.5 and not log and max(time) > 1.:
129− freq = [f/1000. for f in freq]
130− minf /= 1000.
131− maxf /= 1000.
132− g.ylabel('Frequency (kHz)')
133− else:
134− g.ylabel('Frequency (Hz)')
120+ if max(time) < 1.:
121+ time = [t*1000. for t in time]
122+ g.xlabel('Time (ms)')
123+ else:
124+ g.xlabel('Time (s)')
125+ if options.xsize < 0.5 and not options.log and max(time) > 1.:
126+ freq = [f/1000. for f in freq]
127+ options.minf /= 1000.
128+ options.maxf /= 1000.
129+ g.ylabel('Frequency (kHz)')
130+ else:
131+ g.ylabel('Frequency (Hz)')
135132 g('set pm3d map')
136133 g('set palette rgbformulae -25,-24,-32')
137− #g('set lmargin 4')
138134 g('set cbtics 20')
139135 #g('set colorbox horizontal')
140136 g('set xrange [0.:%f]' % time[-1])
141− if log:
137+ if options.log:
142138 g('set log y')
143− g('set yrange [%f:%f]' % (max(10,minf),maxf))
139+ g('set yrange [%f:%f]' % (max(10,options.minf),options.maxf))
144140 else:
145− g('set yrange [%f:%f]' % (minf,maxf))
141+ g('set yrange [%f:%f]' % (options.minf,options.maxf))
146142 g.splot(Gnuplot.GridData(data,time,freq, binary=1))
147143 #xorig += 1./todraw
148144
@@ -170,12 +166,24 @@ def gnuplot_addargs(parser): · 21 unmodified lines
170166 parser.add_option("-y","--ysize",
171167 action="store", dest="ysize", default=1.,
172168 type='float',help="define ysize for plot")
173− parser.add_option("-d","--debug",
169+ parser.add_option("--debug",
174170 action="store_true", dest="debug", default=False,
175171 help="use gnuplot debug mode")
176− parser.add_option("-p","--persist",
172+ parser.add_option("--persist",
177173 action="store_false", dest="persist", default=True,
178174 help="do not use gnuplot persistant mode")
175+ parser.add_option("--lmargin",
176+ action="store", dest="lmargin", default=None,
177+ type='int',help="define left margin for plot")
178+ parser.add_option("--rmargin",
179+ action="store", dest="rmargin", default=None,
180+ type='int',help="define right margin for plot")
181+ parser.add_option("--bmargin",
182+ action="store", dest="bmargin", default=None,
183+ type='int',help="define bottom margin for plot")
184+ parser.add_option("--tmargin",
185+ action="store", dest="tmargin", default=None,
186+ type='int',help="define top margin for plot")
179187 parser.add_option("-O","--outplot",
180188 action="store", dest="outplot", default=None,
181189 help="save plot to output.{ps,png}")
@@ -191,6 +199,10 @@ def gnuplot_create(outplot='',extension='', options=None): · 9 unmodified lines
191199 elif extension == 'svg': ext, extension = '.svg', 'svg'
192200 else: exit("ERR: unknown plot extension")
193201 g('set terminal %s' % extension)
202+ if options.lmargin: g('set lmargin %i' % options.lmargin)
203+ if options.rmargin: g('set rmargin %i' % options.rmargin)
204+ if options.bmargin: g('set bmargin %i' % options.bmargin)
205+ if options.tmargin: g('set tmargin %i' % options.tmargin)
194206 if outplot != "stdout":
195207 g('set output \'%s%s\'' % (outplot,ext))
196208 g('set size %f,%f' % (options.xsize, options.ysize))
python/aubioplot-audio+1−3
@@ -28,6 +28,4 @@ else: · 27 unmodified lines
2828 outplot = None
2929
3030 g = gnuplot_create(outplot,extension,options)
31−plot_audio(options.filename.split(','), g,
32− xsize=options.xsize,
33− ysize=options.ysize)
31+plot_audio(options.filename.split(','), g, options)
python/aubioplot-spec+1−4
@@ -48,7 +48,4 @@ else: · 47 unmodified lines
4848 outplot = None
4949
5050 g = gnuplot_create(outplot,extension,options)
51−plot_spec(filename, g, log=options.log,
52− maxf = options.maxf, minf = options.minf,
53− xsize = options.xsize, ysize = options.ysize,
54− bufsize = options.bufsize, hopsize = options.hopsize)
51+plot_spec(filename, g, options)

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t