def _graph_default(self): g = Graph(container_dict=dict(padding=5)) g.new_plot(padding=5) g.set_axis_traits(axis='y', visible=False) g.set_axis_traits(axis='x', visible=False) g.set_grid_traits(grid='x', visible=False) g.set_grid_traits(grid='y', visible=False) return g
def _graph_factory(self, with_image=False): g = Graph( container_dict=dict( padding=0 )) g.new_plot( bounds=[250, 250], resizable='', padding=[30, 0, 0, 30]) cx = self.cx cy = self.cy cbx = self.xbounds cby = self.ybounds tr = self.target_radius # if with_image: # px = self.pxpermm #px is in mm # cbx, cby = self._get_crop_bounds() # #g.set_axis_traits(tick_label_formatter=lambda x: '{:0.2f}'.format((x - w / 2) / px)) # #g.set_axis_traits(tick_label_formatter=lambda x: '{:0.2f}'.format((x - h / 2) / px), axis='y') # # bx, by = g.plots[0].bounds # g.plots[0].x_axis.mapper = LinearMapper(high_pos=bx, # range=DataRange1D(low_setting=self.xbounds[0], # high_setting=self.xbounds[1])) # g.plots[0].y_axis.mapper = LinearMapper(high_pos=by, # range=DataRange1D(low_setting=self.ybounds[0], # high_setting=self.ybounds[1])) # cx += self.image_width / 2 # cy += self.image_height / 2 # tr *= px g.set_x_limits(*cbx) g.set_y_limits(*cby) lp, _plot = g.new_series() t = TargetOverlay(component=lp, cx=cx, cy=cy, target_radius=tr) lp.overlays.append(t) overlap_overlay = OverlapOverlay(component=lp, visible=self.show_overlap ) lp.overlays.append(overlap_overlay) g.new_series(type='scatter', marker='circle') g.new_series(type='line', color='red') return g
def _graph_factory(self): graph = Graph(container_dict=dict(padding=5, bgcolor='lightgray')) graph.new_plot( padding=[50, 5, 5, 50], # title='{}'.format(self.title), xtitle='CDD Operating Voltage (V)', ytitle='Intensity (fA)', ) graph.new_series(type='scatter', marker='pixel') return graph
def _graph_factory(self): g = Graph(window_title='Coincidence Scan', container_dict=dict(padding=5, bgcolor='lightgray') ) g.new_plot(padding=[50, 5, 5, 50], ytitle='Intensity (fA)', xtitle='Operating Voltage (V)') for di in self.spectrometer.detectors: g.new_series( name=di.name, color=di.color) return g
def _execute_power_calibration_check(self): ''' ''' g = Graph() g.new_plot() g.new_series() g.new_series(x=[0, 100], y=[0, 100], line_style='dash') do_later(self._open_graph, graph=g) self._stop_signal = TEvent() callback = lambda pi, r: None self._iterate(self.check_parameters, g, False, callback)
def _graph_factory(self): gc = self.graph_cnt cnt = '' if not gc else gc self.graph_cnt += 1 name = self.parent.name if self.parent else 'Foo' g = Graph(window_title='{} Power Calibration {}'.format(name, cnt), container_dict=dict(padding=5), window_x=500 + gc * 25, window_y=25 + gc * 25 ) g.new_plot( xtitle='Setpoint (%)', ytitle='Measured Power (W)') g.new_series() return g
def graph(poly, opoly, line): from src.graph.graph import Graph g = Graph() g.new_plot() for po in (poly, opoly): po = np.array(po) try: xs, ys = po.T except ValueError: xs, ys, _ = po.T xs = np.hstack((xs, xs[0])) ys = np.hstack((ys, ys[0])) g.new_series(xs, ys) # for i, (p1, p2) in enumerate(lines): # xi, yi = (p1[0], p2[0]), (p1[1], p2[1]) # g.new_series(xi, yi, color='black') return g
def _graph_default(self): g = Graph(container_dict=dict(padding=5, kind='h')) g.new_plot(xtitle='weight (mg)', ytitle='40Ar* (fA)', padding=[60, 20, 60, 60] # padding=60 ) g.new_series() g.new_plot(xtitle='40Ar* (fA)', ytitle='%Error in Age', padding=[30, 30, 60, 60] ) g.new_series() # fp = create_line_plot(([], []), color='red') # left, bottom = add_default_axes(fp) # bottom.visible = False # left.orientation = 'right' # left.axis_line_visible = False # bottom.axis_line_visible = False # left.visible = False # if self.kind == 'weight': # bottom.visible = True # bottom.orientation = 'top' # bottom.title = 'Error (ka)' # bottom.tick_color = 'red' # bottom.tick_label_color = 'red' # bottom.line_color = 'red' # bottom.title_color = 'red' # else: # left.title = 'Weight (mg)' # fp.visible = False # gd = GuideOverlay(fp, value=0.01, orientation='v') # fp.overlays.append(gd) # g.plots[0].add(fp) # self.secondary_plot = fp return g
def _finish_calibration(self): super(FusionsCO2PowerCalibrationManager, self)._finish_calibration() g = Graph() g.new_plot() # plot W vs 8bit dac x = self.graph.get_data(axis=1) _, y = self.graph.get_aux_data() xf = self.graph.get_data(axis=1, series=2) _, yf = self.graph.get_aux_data(series=3) # print xf # print yf x, y = zip(*zip(x, y)) xf, yf = zip(*zip(xf, yf)) g.new_series(x, y) g.new_series(xf, yf) self._ipm_coeffs_w_v_r = self._regress(x, y, FITDEGREES['linear']) self. _ipm_coeffs_w_v_r1 = self._regress(xf, yf, FITDEGREES['linear']) self._open_graph(graph=g)
def _gc(self, p, det, kind): g = Graph(container_dict=dict(padding=5), window_width=1000, window_height=800, window_x=40, window_y=20 ) with open(p, 'r') as fp: # gather data reader = csv.reader(fp) header = reader.next() groups = self._parse_data(reader) ''' groups= [data,] data shape = nrow,ncols ''' data = groups[0] x = data[0] y = data[header.index(det)] sy = smooth(y, window_len=120) # , window='flat') x = x[::50] y = y[::50] sy = sy[::50] # smooth # plot g.new_plot(zoom=True, xtitle='Time (s)', ytitle='{} Baseline Intensity (fA)'.format(det)) g.new_series(x, y, type=kind, marker='dot', marker_size=2) g.new_series(x, sy, line_width=2) # g.set_x_limits(500, 500 + 60 * 30) # g.edit_traits() return g
# cx, cy = xs.mean(), ys.mean() # poly = rotate_poly(poly.T, 45, loc=(cx, cy)) # poly = poly.T use_convex_hull = False npoints, lens = raster(poly, step=750, offset= -500, use_convex_hull=use_convex_hull, find_min=True) from src.graph.graph import Graph g = Graph(window_height=700) g.plotcontainer.padding = 5 g.new_plot(padding=[60, 30, 30, 50], bounds=[400, 400], resizable='h', xtitle='X (microns)', ytitle='Y (microns)') if use_convex_hull: poly = convex_hull(poly) xs, ys = poly.T cx, cy = xs.mean(), ys.mean() P = poly.T xs = np.hstack((xs, xs[0])) ys = np.hstack((ys, ys[0])) else: xs, ys = poly.T xs = np.hstack((xs, xs[0])) ys = np.hstack((ys, ys[0]))
r = [i40 / i36 for i40, i36 in zip(s40, s36)] v = [vi.nominal_value for vi in r] errs = [vi.std_dev for vi in r] m, e = calculate_weighted_mean(v, errs) return m, e if __name__ == '__main__': from numpy import linspace, polyfit, polyval d = DeadTime() g = Graph() g.new_plot(padding=[30, 10, 20, 40]) g.new_plot(padding=[30, 10, 20, 40], show_legend=True) nshots = d.read_csv() # taus = range(5, 40, 5) taus = linspace(0, 30, 41) rratios1 = [] mswds1 = [] for i in KEYS: s40 = nshots[i + '40'] s36 = nshots[i + '36'] m1, _ = d._calculate_mean_ratio(s40, s36) print 'uncorrected ratio {} = {:0.2f} '.format(i, m1) for tau in taus: # print 'calculating for dt= ', tau