Fixed non-interactive pylab plotting setup in common.py
[calibcant.git] / calibcant / vib_analyze.py
index a100edeed26d884ec78960d0feb97db750ddbccf..f7d8033e2678f45f146f2c5fb3ecca3d96ad2891 100755 (executable)
@@ -250,23 +250,24 @@ def vib_plot(deflection_bits, freq_axis, power, A, B, C,
      FFTed Vphoto data (Vphoto vs Frequency) (show major noise components).
     """
     if plotVerbose or config.PYLAB_VERBOSE :
+        print "plotting"
         common._import_pylab()
+        common._pylab.figure(config.BASE_FIGNUM+2)
         common._pylab.hold(False)
-        common._pylab.figure(BASE_FIGNUM+2)
 
         # plot time series
         common._pylab.subplot(311)
-        common._pylab.plot(data["Deflection input"], 'r.')
+        common._pylab.plot(deflection_bits, 'r.')
         common._pylab.title("free oscillation")
 
         # plot histogram distribution and gaussian fit
         common._pylab.subplot(312)
         n, bins, patches = \
-            common._pylab.hist(data["Deflection input"], bins=30,
-                        normed=1, align='center')
+            common._pylab.hist(deflection_bits, bins=30,
+                               normed=1, align='center')
         gaus = numpy.zeros((len(bins),))
-        mean = data["Deflection input"].mean()
-        std = data["Deflection input"].std()
+        mean = deflection_bits.mean()
+        std = deflection_bits.std()
         pi = numpy.pi
         exp = numpy.exp
         for i in range(len(bins)) :
@@ -279,7 +280,7 @@ def vib_plot(deflection_bits, freq_axis, power, A, B, C,
         common._pylab.subplot(313)
         common._pylab.semilogy(freq_axis, power, 'r.-')
         common._flush_plot()
-    if (plotVerbose or config.GNUPLOT_VERBOSE) and False : # TODO, clean up and double check...
+    if (plotVerbose or config.GNUPLOT_VERBOSE):
         # write all the ft data now
         fd = file(datafilename, 'w')
         for i in range(len(freq_axis)) :
@@ -379,6 +380,9 @@ if __name__ == '__main__' :
     parser.add_option('-g', '--gnuplot', dest='gnuplot', action='store_true',
                       help='Print gnuplot fit check script to stderr',
                       default=False)
+    parser.add_option('-p', '--pylab', dest='pylab', action='store_true',
+                      help='Produce pylab fit checks during execution',
+                      default=False)
     parser.add_option('-t', '--tweak-mode', dest='tweakmode', action='store_true',
                       help='Run in tweak-file mode',
                       default=False)
@@ -401,7 +405,8 @@ if __name__ == '__main__' :
     else :
         vfile = None
     config.TEXT_VERBOSE = options.verbose
-    config.PYLAB_VERBOSE = False
+    config.PYLAB_INTERACTIVE = False
+    config.PYLAB_VERBOSE = options.pylab
     config.GNUPLOT_VERBOSE = options.gnuplot
 
     if options.tweakmode == False :
@@ -421,5 +426,9 @@ if __name__ == '__main__' :
             sep = '\n'
         common.write_array(ofile, Vphoto_vars, sep)
 
+    if common._final_flush_plot != None:
+        common._final_flush_plot()
+    
     if options.ofilename != None :
         ofile.close()
+