Example usage for org.jfree.data Range getLowerBound

List of usage examples for org.jfree.data Range getLowerBound

Introduction

In this page you can find the example usage for org.jfree.data Range getLowerBound.

Prototype

public double getLowerBound() 

Source Link

Document

Returns the lower bound for the range.

Usage

From source file:org.jfree.data.RangeTest.java

/**
 * A simple test for the scale() method.
 *//* w  w  w .  j a  v  a 2  s . c om*/
@Test
public void testScale() {
    Range r1 = new Range(0.0, 100.0);
    Range r2 = Range.scale(r1, 0.10);
    assertEquals(0.0, r2.getLowerBound(), 0.001);
    assertEquals(10.0, r2.getUpperBound(), 0.001);

    r1 = new Range(-10.0, 100.0);
    r2 = Range.scale(r1, 2.0);
    assertEquals(-20.0, r2.getLowerBound(), 0.001);
    assertEquals(200.0, r2.getUpperBound(), 0.001);

    // Scaling with a factor of 1 does not change the range
    r2 = Range.scale(r1, 1.0);
    assertEquals(r1, r2);

    try {
        Range.scale(null, 0.1);
        fail("Null value is accepted");
    } catch (Exception e) {
    }

    try {
        Range.scale(r1, -0.5);
        fail("Negative factor accepted");
    } catch (Exception e) {
    }
}

From source file:org.jfree.data.RangeTest.java

/**
 * A simple test for the expand() method.
 *///from www.ja  v  a 2 s .  co m
@Test
public void testExpand() {
    Range r1 = new Range(0.0, 100.0);
    Range r2 = Range.expand(r1, 0.10, 0.10);
    assertEquals(-10.0, r2.getLowerBound(), 0.001);
    assertEquals(110.0, r2.getUpperBound(), 0.001);

    // Expand by 0% does not change the range
    r2 = Range.expand(r1, 0.0, 0.0);
    assertEquals(r1, r2);

    try {
        Range.expand(null, 0.1, 0.1);
        fail("Null value is accepted");
    } catch (Exception e) {
    }

    // Lower > upper: mid point is used
    r2 = Range.expand(r1, -0.8, -0.5);
    assertEquals(65.0, r2.getLowerBound(), 0.001);
    assertEquals(65.0, r2.getUpperBound(), 0.001);
}

From source file:org.jfree.data.RangeTest.java

/**
 * Some checks for the combineIgnoringNaN() method.
 *//*from  w w w  .j  av  a  2  s  . c  o m*/
@Test
public void testCombineIgnoringNaN() {
    Range r1 = new Range(1.0, 2.0);
    Range r2 = new Range(1.5, 2.5);

    assertNull(Range.combineIgnoringNaN(null, null));
    assertEquals(r1, Range.combineIgnoringNaN(r1, null));
    assertEquals(r2, Range.combineIgnoringNaN(null, r2));
    assertEquals(new Range(1.0, 2.5), Range.combineIgnoringNaN(r1, r2));

    Range r3 = new Range(Double.NaN, 1.3);
    Range rr = Range.combineIgnoringNaN(r1, r3);
    assertEquals(1.0, rr.getLowerBound(), EPSILON);
    assertEquals(2.0, rr.getUpperBound(), EPSILON);

    Range r4 = new Range(1.7, Double.NaN);
    rr = Range.combineIgnoringNaN(r4, r1);
    assertEquals(1.0, rr.getLowerBound(), EPSILON);
    assertEquals(2.0, rr.getUpperBound(), EPSILON);
}

From source file:org.jfree.data.RangeTest.java

/**
 * A simple test for the scale() method.
 *//*from   w ww.  ja v  a  2 s . c o m*/
@Test
public void testShift() {
    Range r1 = new Range(10.0, 20.0);
    Range r2 = Range.shift(r1, 20.0);
    assertEquals(30.0, r2.getLowerBound(), 0.001);
    assertEquals(40.0, r2.getUpperBound(), 0.001);

    r1 = new Range(0.0, 100.0);
    r2 = Range.shift(r1, -50.0, true);
    assertEquals(-50.0, r2.getLowerBound(), 0.001);
    assertEquals(50.0, r2.getUpperBound(), 0.001);

    r1 = new Range(-10.0, 20.0);
    r2 = Range.shift(r1, 20.0, true);
    assertEquals(10.0, r2.getLowerBound(), 0.001);
    assertEquals(40.0, r2.getUpperBound(), 0.001);

    r1 = new Range(-10.0, 20.0);
    r2 = Range.shift(r1, -30.0, true);
    assertEquals(-40.0, r2.getLowerBound(), 0.001);
    assertEquals(-10.0, r2.getUpperBound(), 0.001);

    r1 = new Range(-10.0, 20.0);
    r2 = Range.shift(r1, 20.0, false);
    assertEquals(0.0, r2.getLowerBound(), 0.001);
    assertEquals(40.0, r2.getUpperBound(), 0.001);

    r1 = new Range(-10.0, 20.0);
    r2 = Range.shift(r1, -30.0, false);
    assertEquals(-40.0, r2.getLowerBound(), 0.001);
    assertEquals(0.0, r2.getUpperBound(), 0.001);

    // Shifting with a delta of 0 does not change the range
    r2 = Range.shift(r1, 0.0);
    assertEquals(r1, r2);

    try {
        Range.shift(null, 0.1);
        fail("Null value is accepted");
    } catch (Exception e) {
    }
}

From source file:de.mpg.mpi_inf.bioinf.netanalyzer.ui.charts.MyLogarithmicAxis.java

/**
 * Computes the offset for the method {@link #adjustedLog(double)} to display the logarithmic scale
 * correctly./*  w  w w. java  2s .  co  m*/
 * 
 * @param aDataRange Range of the data.
 * @return Integer denoting the correct offset for the data.
 */
protected int computeOffset(Range aDataRange) {
    final double lowerBound = aDataRange.getLowerBound();
    for (int i = 1; i < allticks.length; ++i) {
        if (lowerBound <= allticks[i]) {
            return 1 - i;
        }
    }
    return 0;
}

From source file:com.epiq.bitshark.ui.TimeDomainPanel.java

public TimeDomainPanel() {
    initComponents();/*from  w  w  w  . j  av a  2  s  .  co m*/

    initGraph();

    JPanel holderPanel = new JPanel() {
        @Override
        public void paint(Graphics g) {

            if (plot.getDomainAxis().isAutoRange()) {
                plot.getDomainAxis().setAutoRange(false);
                Range newDomain = new Range(0, FMCUartClient.BLOCK_SIZE - 1);
                plot.getDomainAxis().setRange(newDomain, true, false);
            }

            if (plot.getRangeAxis().isAutoRange()) {
                plot.getRangeAxis().setAutoRange(false);
            }

            // ensureAxisMargin( ) ?

            Range newRange = null;
            Range currentRangeRange = plot.getRangeAxis().getRange();
            double extent = currentRangeRange.getUpperBound() - currentRangeRange.getLowerBound();
            newRange = new Range(-(extent) / 2, (extent) / 2);
            plot.getRangeAxis().setRange(newRange, true, false);

            super.paint(g);
        }
    };
    holderPanel.setLayout(new BorderLayout());
    holderPanel.add(chartPanel, BorderLayout.CENTER);
    mainPanel.add(holderPanel, BorderLayout.CENTER);

    headerPanel.setBackgroundPainter(Common.getHeaderPainter());

    titleLabel.setUI(new BasicLabelUI());

    showICheckBox.setFocusPainted(false);
    showQCheckBox.setFocusPainted(false);
}

From source file:OAT.ui.BarChartFrame.java

public void addDataset(ChartDataset dataset) {
    if (dataset == null || dataset.getSeriesCount() == 0) {
        return;/*  ww w.java 2  s .  c  o m*/
    }

    XYPlot plot = getChart().getXYPlot();
    int i = plot.getDatasetCount();

    for (int j = 0; j < i; j++) {
        if (plot.getDataset(j).equals(dataset)) {
            //                System.out.println("eq " + i
            //                        + " " + ((ChartDataset) plot.getDataset(j)).getTitle()
            //                        + " " + dataset.getTitle());
            return;
        }
    }

    plot.setDataset(i, dataset);
    plot.setDatasetRenderingOrder(DatasetRenderingOrder.REVERSE);
    Double[] range = dataset.getAxisRange();

    //axis
    int axisId = 0;

    if (range != null) {
        //        if (range == null || range.length < 2) {
        //            plot.mapDatasetToRangeAxis(i, 0);
        //        } else {

        //scan for equal axis range, reuse if found
        boolean hasSameRange = false;

        if (range.length > 1) {
            for (int j = 1; j < plot.getRangeAxisCount(); j++) {
                Range otherRange = plot.getRangeAxis(j).getRange();

                if (otherRange != null && otherRange.getLowerBound() == range[0]
                        && otherRange.getUpperBound() == range[1]) {
                    axisId = j;
                    hasSameRange = true;
                    break;
                }
            }
        }

        if (!hasSameRange) {
            NumberAxis newAxis = new NumberAxis();

            if (range.length > 1) {
                newAxis.setAutoRange(false);
                newAxis.setRange(range[0], range[1]);
            }

            if (range.length > 2) {
                newAxis.setAutoTickUnitSelection(false, false);
                newAxis.setTickUnit(new NumberTickUnit(range[2]));
            }

            newAxis.setNumberFormatOverride(TextUtil.SIMPLE_FORMATTER);
            //                    newAxis.setAxisLinePaint(new Color(100, 0, 0));
            //                    newAxis.setLabelPaint(paints[i][0]);
            //                    newAxis.setTickLabelPaint(paints[i][0]);
            //                    newAxis.setTickMarkPaint(paints[i][0]);
            //                    newAxis.setTickLabelsVisible(true);

            axisId = plot.getRangeAxisCount();
            plot.setRangeAxis(axisId, newAxis, false);
            plot.setRangeAxisLocation(axisId, AxisLocation.BOTTOM_OR_LEFT, false);
        }
        //            plot.mapDatasetToRangeAxis(i, newAxisId);
    }
    plot.mapDatasetToRangeAxis(i, axisId);
    //

    //renderer
    XYLineAndShapeRenderer renderer;

    if (dataset instanceof TradeDataset) {
        renderer = new TradeRenderer();

        for (int j = 0; j < dataset.getSeriesCount(); j++) {
            renderer.setSeriesLinesVisible(j, false);
        }
    } else {

        Shape shape = Main.defaultShape;
        Paint[][] seriesPaints;
        Stroke stroke;

        if (dataset.getSource() instanceof Stopper && !(dataset.getSource() instanceof Calculator)) {
            seriesPaints = Main.greyPaints;
            stroke = Main.dottedStoke;
        } else {
            seriesPaints = Main.defaultPaints;
            stroke = Main.defaultStoke;
        }

        renderer = new IndicatorRenderer(seriesPaints[(i - 1) % seriesPaints.length], shape, stroke);
    }

    plot.setRenderer(i, renderer, false);
}

From source file:org.jfree.data.Range.java

/**
 * Returns <code>true</code> if the range intersects with the specified
 * range, and <code>false</code> otherwise.
 *
 * @param range  another range (<code>null</code> not permitted).
 *
 * @return A boolean.//from  w ww  . j a  v a2 s .c  o  m
 *
 * @since 1.0.9
 */
public boolean intersects(Range range) {
    return intersects(range.getLowerBound(), range.getUpperBound());
}

From source file:com.rapidminer.gui.plotter.RangeablePlotterAdapter.java

public void setRange(String columnName, Range range) {
    // inserting in map
    nameRangeMap.put(PlotterAdapter.transformParameterName(columnName), range);

    // translating current ranges to string
    List<String[]> entryList = new LinkedList<>();
    for (String dimensionName : nameRangeMap.keySet()) {
        Range currentRange = nameRangeMap.get(dimensionName);
        String[] entry = new String[2];
        entry[0] = dimensionName;// w ww.  j a  v a 2  s . c o  m
        entry[1] = ParameterTypeTupel.transformTupel2String(
                new Pair<>(currentRange.getLowerBound() + "", currentRange.getUpperBound() + ""));
        entryList.add(entry);
    }

    // finally set it in the settings
    settings.setParameterAsString(PARAMETER_PREFIX_RANGE_LIST,
            ParameterTypeList.transformList2String(entryList));
}

From source file:info.financialecology.finance.utilities.datastruct.VersatileChart.java

public JFreeChart drawTimeSeries(ArrayList<VersatileTimeSeries> atsArray) {
    JFreeChart chart;//from   w w  w .  ja va2  s  .  c o m
    ArrayList<String> visibleKeys = new ArrayList<String>();

    if (params.ticks) {
        XYSeriesCollection dataSet = new XYSeriesCollection();

        for (VersatileTimeSeries ats : atsArray) {
            XYSeries xySeries = new XYSeries(ats.getKey());
            dataSet.addSeries(xySeries);

            for (int i = 0; i < ats.getItemCount(); i++)
                xySeries.add(i, ats.getValue(i));
        }

        chart = ChartFactory.createXYLineChart(params.title, params.xLabel, params.yLabel, dataSet,
                PlotOrientation.VERTICAL, params.legend, params.toolTips, false);

        if (params.autoRange) {
            Range currentRange = dataSet.getRangeBounds(true);
            Range newRange = new Range((1 - params.autoRangePadding) * currentRange.getLowerBound(),
                    (1 + params.autoRangePadding) * currentRange.getUpperBound());
            chart.getXYPlot().getRangeAxis().setRange(newRange);
        }
    } else {
        TimeSeriesCollection dataSet = new TimeSeriesCollection();

        for (VersatileTimeSeries ats : atsArray) {
            dataSet.addSeries(ats);
            visibleKeys.add((String) ats.getKey());
        }

        chart = ChartFactory.createTimeSeriesChart(params.title, params.xLabel, params.yLabel, dataSet,
                params.legend, params.toolTips, false);

        if (params.autoRange) {
            Range currentRange = dataSet.getRangeBounds(visibleKeys, dataSet.getDomainBounds(true), true);
            Range newRange = new Range((1 - params.autoRangePadding) * currentRange.getLowerBound(),
                    (1 + params.autoRangePadding) * currentRange.getUpperBound());
            chart.getXYPlot().getRangeAxis().setRange(newRange);
        }
    }

    return chart;
}