void Plot::setHighLow () { _plotSettings.high = 0; _plotSettings.low = 0; bool flag = FALSE; QHashIterator<QString, Curve *> it(_plotSettings.curves); while (it.hasNext()) { it.next(); Curve *curve = it.value(); double h, l; if (! curve->highLowRange(_plotSettings.startPos, _plotSettings.endPos, h, l)) continue; if (! flag) { _plotSettings.high = h; _plotSettings.low = l; flag = TRUE; } else { if (h > _plotSettings.high) _plotSettings.high = h; if (l < _plotSettings.low) _plotSettings.low = l; } } QHashIterator<QString, Marker *> it2(_plotSettings.markers); while (it2.hasNext()) { it2.next(); Marker *co = it2.value(); double h, l; if (! co->highLow(_plotSettings.startPos, _plotSettings.endPos, h, l)) continue; if (! flag) { _plotSettings.high = h; _plotSettings.low = l; flag = TRUE; } else { if (h > _plotSettings.high) _plotSettings.high = h; if (l < _plotSettings.low) _plotSettings.low = l; } } if(high){ setAxisScale(QwtPlot::yRight, low, high); }else{ setAxisScale(QwtPlot::yRight, _plotSettings.low, _plotSettings.high); } //TODO // setAxisScale(QwtPlot::yRight, 0, 100); }
void Plot::setHighLow () { _plotSettings.high = 0; _plotSettings.low = 0; bool flag = false; QHashIterator<QString, Curve *> it(_plotSettings.curves); while (it.hasNext()) { it.next(); Curve *curve = it.value(); double h, l; if (! curve->highLowRange(_plotSettings.startPos, _plotSettings.endPos, h, l)) continue; if (! flag) { _plotSettings.high = h; _plotSettings.low = l; flag = true; } else { if (h > _plotSettings.high) _plotSettings.high = h; if (l < _plotSettings.low) _plotSettings.low = l; } } QHashIterator<QString, Marker *> it2(_plotSettings.markers); while (it2.hasNext()) { it2.next(); Marker *co = it2.value(); double h, l; if (! co->highLow(_plotSettings.startPos, _plotSettings.endPos, h, l)) continue; if (! flag) { _plotSettings.high = h; _plotSettings.low = l; flag = true; } else { if (h > _plotSettings.high) _plotSettings.high = h; if (l < _plotSettings.low) _plotSettings.low = l; } } if(high) { //Add 2% margin at top and bottom of plot float span = high-low; float margin = span / 50; setAxisScale(QwtPlot::yRight, low-margin, high+margin); } else { float span = _plotSettings.high-_plotSettings.low; float margin = span / 50; setAxisScale(QwtPlot::yRight, _plotSettings.low-margin, _plotSettings.high+margin); } }