170 Return variable value range |
170 Return variable value range |
171 @return: (minimum_value, maximum_value) |
171 @return: (minimum_value, maximum_value) |
172 """ |
172 """ |
173 return self.MinValue, self.MaxValue |
173 return self.MinValue, self.MaxValue |
174 |
174 |
175 def OrthogonalDataAndRange(self, start_tick, end_tick): |
175 def GetDataAndValueRange(self, start_tick, end_tick, full_range=True): |
176 """ |
176 """ |
177 Return variable value range |
177 Return variable data and value range for a given tick range |
178 @param start_tick: Start tick of given range (default None, first data) |
178 @param start_tick: Start tick of given range (default None, first data) |
179 @param end_tick: end tick of given range (default None, last data) |
179 @param end_tick: end tick of given range (default None, last data) |
|
180 @param full_range: Value range is calculated on whole data (False: only |
|
181 calculated on data in given range) |
180 @return: (numpy.array([(tick, value, forced),...]), |
182 @return: (numpy.array([(tick, value, forced),...]), |
181 min_value, max_value) |
183 min_value, max_value) |
182 """ |
184 """ |
183 # Calculate min_value and max_value so that range size is greater |
185 # Get data in given tick range |
184 # than 1.0 |
186 data = self.GetData(start_tick, end_tick) |
185 if self.MinValue is not None and self.MaxValue is not None: |
187 |
186 center = (self.MinValue + self.MaxValue) / 2. |
188 # Value range is calculated on whole data |
187 range = max(1.0, self.MaxValue - self.MinValue) |
189 if full_range: |
188 else: |
190 return data, self.MinValue, self.MaxValue |
189 center = 0.5 |
191 |
190 range = 1.0 |
192 # Check that data in given range is not empty |
191 return (self.GetData(start_tick, end_tick), |
193 values = data[:, 1] |
192 center - range * 0.55, center + range * 0.55) |
194 if len(values) > 0: |
|
195 # Return value range for data in given tick range |
|
196 return (data, |
|
197 data[numpy.argmin(values), 1], |
|
198 data[numpy.argmax(values), 1]) |
|
199 |
|
200 # Return default values |
|
201 return data, None, None |
193 |
202 |
194 def ResetData(self): |
203 def ResetData(self): |
195 """ |
204 """ |
196 Reset data stored when store data option enabled |
205 Reset data stored when store data option enabled |
197 """ |
206 """ |