List of usage examples for org.jfree.chart.renderer LookupPaintScale LookupPaintScale
public LookupPaintScale(double lowerBound, double upperBound, Paint defaultPaint)
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; }