Fix JDiagram.autoscale() to work in zoomed view

master
Harald Wolff 2018-02-14 12:08:56 +01:00
parent 7004f6ef5a
commit 595839ca40
1 changed files with 17 additions and 12 deletions

View File

@ -434,18 +434,23 @@ public class JDiagram extends JComponent implements PlotProviderListener, Bounde
max = new Double[this.plotProvider.getMaxOrdinate()+1];
min = new Double[this.plotProvider.getMaxOrdinate()+1];
for (int graph=0; graph < this.plotProvider.getNumGraphs(); graph++){
ordinate = this.plotProvider.getOrdinate(graph);
for (int n=0;n<this.plotProvider.getLength(); n++){
Float value = this.plotProvider.getValue(n, graph);
if (value != null)
{
if ((min[ordinate] == null) || (value < min[ordinate]))
min[ordinate] = value.doubleValue();
if ((max[ordinate] == null) || (value > max[ordinate]))
max[ordinate] = value.doubleValue();
};
for (int n=0;n<this.plotProvider.getLength(); n++){
for (int graph=0; graph < this.plotProvider.getNumGraphs(); graph++){
double pos = this.plotProvider.getPosition(n,graph);
if ((pos >= abszissMinimum) && (pos < (abszissMinimum + abszissWindow))){
ordinate = this.plotProvider.getOrdinate(graph);
Float value = this.plotProvider.getValue(n, graph);
if (value != null)
{
if ((min[ordinate] == null) || (value < min[ordinate]))
min[ordinate] = value.doubleValue();
if ((max[ordinate] == null) || (value > max[ordinate]))
max[ordinate] = value.doubleValue();
}
}
}
}