source: fact/tools/pyscripts/sandbox/dneise/SlowDataPlotting/plot_hums.py

Last change on this file was 14430, checked in by neise, 12 years ago
initial commit
  • Property svn:executable set to *
File size: 2.2 KB
Line 
1#!/usr/bin/python -tti
2
3##############################################
4# based on plot_trigger_rate.py by QW and TPK
5##############################################
6
7from array import array
8import os
9import re
10import sys
11import numpy as np
12import time
13
14from pyfact import SlowData
15
16#from ROOT import TCanvas, TGraph, TGraphErrors, TH2F
17from ROOT import gROOT
18#from ROOT import gStyle
19
20import matplotlib.pyplot as plt
21import matplotlib.dates
22
23gROOT.SetStyle("Plain")
24plt.ion()
25
26filelist = []
27if len(sys.argv) > 1:
28 base_path = sys.argv[1]
29else:
30 print 'Usage:', sys.argv[0], '/your/search/path'
31
32for base,subdirs,files in os.walk(base_path):
33 for filename in files:
34 #include only run files
35 regex = re.search(r'\d\d\d\d\d\d\d\d\.FSC_CONTROL_HUMIDITY.fits',filename)
36 #include run files and also the nightly file
37 #regex = re.search(r'FTM_CONTROL_TRIGGER_RATES',filename)
38 if regex:
39 filelist.append(os.path.join(base,filename))
40
41
42plotlist = ['H']
43plotfmts = ['.:b']
44per_name = []
45
46for filename in filelist:
47
48 print filename
49
50 f = SlowData(filename)
51
52 f.register("all")
53
54 f.stack()
55 for row in f:
56 pass
57
58
59 for name in plotlist:
60 per_name.append(f.columns[name][0])
61
62 fig = plt.figure()
63 ax = fig.add_subplot(111)
64 plt.hold(True)
65 for i,name in enumerate(plotlist):
66 for number in range(per_name[i]):
67 print name, number
68 Time = f.stacked_cols['Time']
69 data = f.stacked_cols[name][:,number]
70 med = np.median(Time)
71 # get rid of Times of the previous day.
72 Time_today = Time[np.where( Time>med-0.25 )[0]]
73 data_today = data[np.where( Time>med-0.25)[0]]
74
75 ax.plot_date( Time_today, data_today, fmt=plotfmts[i])
76 today_str = time.strftime('%d.%m.' ,time.gmtime(Time_today[0]*24*3600))
77 print today_str
78 plt.title('Humidity \n'+today_str)
79 ax.xaxis.set_major_locator(
80# matplotlib.dates.HourLocator(byhour=range(24), interval=1)
81 matplotlib.dates.AutoDateLocator()
82 )
83 ax.xaxis.set_major_formatter(
84# matplotlib.dates.DateFormatter('%Hh')
85 matplotlib.dates.AutoDateFormatter()
86 )
87 plt.draw()
88
89# plt.ylim(12,41)
90 plt.savefig(sys.argv[2])
Note: See TracBrowser for help on using the repository browser.