Example usage for org.jfree.chart.renderer LookupPaintScale LookupPaintScale

List of usage examples for org.jfree.chart.renderer LookupPaintScale LookupPaintScale

Introduction

In this page you can find the example usage for org.jfree.chart.renderer LookupPaintScale LookupPaintScale.

Prototype

public LookupPaintScale(double lowerBound, double upperBound, Paint defaultPaint) 

Source Link

Document

Creates a new paint scale with the specified default paint.

Usage

From source file:com.peterbochs.instrument.InstrumentPanel.java

public void update2DChart() {
    // jfcMemory.getCategoryPlot().setDataset(createMemoryDataset());
    jfcMemory.getXYPlot().setDataset(createDataset());
    MyXYBlockRenderer renderer = (MyXYBlockRenderer) jfcMemory.getXYPlot().getRenderer();
    int largest = findLargest(
            Data.getChartData(CommonLib.convertFilesize((String) jFromComboBox.getSelectedItem()),
                    CommonLib.convertFilesize((String) jToComboBox.getSelectedItem()),
                    CommonLib.convertFilesize((String) jBlockSizeComboBox.getSelectedItem())));
    if (largest == 0) {
        largest = 1;/*from www  .  j ava 2  s. c om*/
    }
    LookupPaintScale paintScale = new LookupPaintScale(0, largest, background);
    if (largest > 1) {
        // int mean =
        // medianWithoutZero(Data.getChartData(CommonLib.convertFilesize((String)
        // jFromComboBox.getSelectedItem()),
        // CommonLib.convertFilesize((String) jToComboBox
        // .getSelectedItem())));
        int m[] = Data.getChartData(CommonLib.convertFilesize((String) jFromComboBox.getSelectedItem()),
                CommonLib.convertFilesize((String) jToComboBox.getSelectedItem()),
                CommonLib.convertFilesize((String) jBlockSizeComboBox.getSelectedItem()));
        TreeSet<Integer> data = new TreeSet<Integer>();
        for (int x = 0; x < m.length; x++) {
            if (m[x] > 0) {
                data.add(m[x]);
            }
        }

        // paintScale.add(0, Color.white);
        ArrayList<Color> allColors = allColors();
        Object iData[] = data.toArray();
        paintScale.add(1, allColors.get(0));
        for (int x = 1; x < iData.length - 1; x++) {
            paintScale.add((int) (Integer) iData[x], allColors.get(allColors.size() / iData.length * x));
        }
        paintScale.add((int) (Integer) iData[iData.length - 1], allColors.get(allColors.size() - 1));
    }
    renderer.setPaintScale(paintScale);
    renderer.setBaseToolTipGenerator(new MyXYToolTipGenerator());
    jfcMemory.getXYPlot().setForegroundAlpha(1f);
    jZoomOutAutoRangeButtonActionPerformed(null);
}

From source file:mio_de_pso.MainForm.java

private LookupPaintScale createLookupPaintScale(double[] values) {
    double minVal = values[0];
    double maxVal = values[0];
    for (int i = 0; i < values.length; ++i) {
        if (values[i] < minVal)
            minVal = values[i];//from ww  w . jav a2s  .c o m
        if (values[i] > maxVal)
            maxVal = values[i];
    }

    LookupPaintScale ps = new LookupPaintScale(minVal, maxVal + 0.0000001, Color.WHITE);

    Color startColor = Color.BLACK;
    Color secondColor = Color.BLUE;
    Color thirdColor = Color.GREEN;
    Color fourthColor = Color.YELLOW;
    Color endColor = Color.RED;

    int iterations = 80;
    int iterationPerColor = iterations / 4;
    double res = Math.round(((maxVal - minVal) / iterations) * 100.0) / 100.0;
    minVal -= res;

    for (int i = 0; i < iterationPerColor; ++i) {
        ps.add(minVal += res, new Color(
                startColor.getRed() + (((secondColor.getRed() - startColor.getRed()) * i) / iterationPerColor),
                startColor.getGreen()
                        + (((secondColor.getGreen()) - startColor.getGreen()) * i) / iterationPerColor,
                startColor.getBlue()
                        + (((secondColor.getBlue() - startColor.getBlue()) * i) / iterationPerColor)));
    }
    for (int i = 0; i < iterationPerColor; ++i) {
        ps.add(minVal += res, new Color(
                secondColor.getRed() + (((thirdColor.getRed() - secondColor.getRed()) * i) / iterationPerColor),
                secondColor.getGreen()
                        + (((thirdColor.getGreen()) - secondColor.getGreen()) * i) / iterationPerColor,
                secondColor.getBlue()
                        + (((thirdColor.getBlue() - secondColor.getBlue()) * i) / iterationPerColor)));
    }
    for (int i = 0; i < iterationPerColor; ++i) {
        ps.add(minVal += res, new Color(
                thirdColor.getRed() + (((fourthColor.getRed() - thirdColor.getRed()) * i) / iterationPerColor),
                thirdColor.getGreen()
                        + (((fourthColor.getGreen()) - thirdColor.getGreen()) * i) / iterationPerColor,
                thirdColor.getBlue()
                        + (((fourthColor.getBlue() - thirdColor.getBlue()) * i) / iterationPerColor)));
    }
    for (int i = 0; i < iterationPerColor; ++i) {
        ps.add(minVal += res, new Color(
                fourthColor.getRed() + (((endColor.getRed() - fourthColor.getRed()) * i) / iterationPerColor),
                fourthColor.getGreen()
                        + (((endColor.getGreen()) - fourthColor.getGreen()) * i) / iterationPerColor,
                fourthColor.getBlue()
                        + (((endColor.getBlue() - fourthColor.getBlue()) * i) / iterationPerColor)));
    }
    return ps;
}