Changeset 7957
- Timestamp:
- 03/07/08 12:59:28
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
gnuradio/trunk/gr-utils/src/python/gr_plot_const.py
r7536 r7957 79 79 connect('draw_event', self.zoom) 80 80 connect('key_press_event', self.click) 81 connect('button_press_event', self.mouse_button_callback) 81 82 show() 82 83 … … 104 105 self.sp_iq.set_xlabel("Time (s)", fontsize=self.label_font_size, fontweight="bold") 105 106 self.sp_iq.set_ylabel("Amplitude (V)", fontsize=self.label_font_size, fontweight="bold") 106 self.plot_iq = plot(self.time, self.reals, 'bo-', self.time, self.imags, 'ro-') 107 self.sp_iq.axis([min(self.time), max(self.time), 108 1.5*min([min(self.reals), min(self.imags)]), 109 1.5*max([max(self.reals), max(self.imags)])]) 107 self.plot_iq = self.sp_iq.plot(self.time, self.reals, 'bo-', self.time, self.imags, 'ro-') 110 108 111 109 # Subplot for constellation plot … … 114 112 self.sp_const.set_xlabel("Inphase", fontsize=self.label_font_size, fontweight="bold") 115 113 self.sp_const.set_ylabel("Qaudrature", fontsize=self.label_font_size, fontweight="bold") 116 self.plot_const = plot(self.reals, self.imags, 'bo') 114 self.plot_const = self.sp_const.plot(self.reals, self.imags, 'bo') 115 116 # Add plots to mark current location of point between time and constellation plots 117 self.indx = 0 118 self.plot_iq += self.sp_iq.plot([self.time[self.indx],], [self.reals[self.indx],], 'mo', ms=8) 119 self.plot_iq += self.sp_iq.plot([self.time[self.indx],], [self.imags[self.indx],], 'mo', ms=8) 120 self.plot_const += self.sp_const.plot([self.reals[self.indx],], [self.imags[self.indx],], 'mo', ms=12) 121 122 # Adjust axis 123 self.sp_iq.axis([min(self.time), max(self.time), 124 1.5*min([min(self.reals), min(self.imags)]), 125 1.5*max([max(self.reals), max(self.imags)])]) 117 126 self.sp_const.axis([-2, 2, -2, 2]) 118 127 … … 145 154 forward_valid_keys = [" ", "down", "right"] 146 155 backward_valid_keys = ["up", "left"] 156 trace_forward_valid_keys = [">",] 157 trace_backward_valid_keys = ["<",] 147 158 148 159 if(find(event.key, forward_valid_keys)): … … 151 162 elif(find(event.key, backward_valid_keys)): 152 163 self.step_backward() 164 165 elif(find(event.key, trace_forward_valid_keys)): 166 self.indx = min(self.indx+1, len(self.time)-1) 167 self.set_trace(self.indx) 168 169 elif(find(event.key, trace_backward_valid_keys)): 170 self.indx = max(0, self.indx-1) 171 self.set_trace(self.indx) 153 172 154 173 def button_left_click(self, event): … … 170 189 self.get_data() 171 190 self.update_plots() 172 191 192 193 def mouse_button_callback(self, event): 194 x, y = event.xdata, event.ydata 195 196 if x is not None and y is not None: 197 if(event.inaxes == self.sp_iq): 198 self.indx = searchsorted(self.time, [x]) 199 self.set_trace(self.indx) 200 201 202 def set_trace(self, indx): 203 self.plot_iq[2].set_data(self.time[indx], self.reals[indx]) 204 self.plot_iq[3].set_data(self.time[indx], self.imags[indx]) 205 self.plot_const[1].set_data(self.reals[indx], self.imags[indx]) 206 draw() 207 173 208 174 209 def find(item_in, list_search):
