List of usage examples for org.jfree.data.statistics HistogramDataset HistogramDataset
public HistogramDataset()
From source file:task5.Histogram.java
private ChartPanel createChartPanel() { // dataset//from w w w.j a va2 s . com dataset = new HistogramDataset(); Raster raster = img.getRaster(); final int w = img.getWidth(); final int h = img.getHeight(); double[] r = new double[w * h + 1]; r = raster.getSamples(0, 0, w, h, 0, r); dataset.addSeries("Red", r, BINS); r = raster.getSamples(0, 0, w, h, 1, r); dataset.addSeries("Green", r, BINS); r = raster.getSamples(0, 0, w, h, 2, r); dataset.addSeries("Blue", r, BINS); // chart JFreeChart chart = ChartFactory.createHistogram("Histogram", "Value", "Count", dataset, PlotOrientation.VERTICAL, true, true, false); XYPlot plot = (XYPlot) chart.getPlot(); renderer = (XYBarRenderer) plot.getRenderer(); renderer.setBarPainter(new StandardXYBarPainter()); // translucent red, green & blue Paint[] paintArray = { new Color(0x80ff0000, true), new Color(0x8000ff00, true), new Color(0x800000ff, true) }; plot.setDrawingSupplier( new DefaultDrawingSupplier(paintArray, DefaultDrawingSupplier.DEFAULT_FILL_PAINT_SEQUENCE, DefaultDrawingSupplier.DEFAULT_OUTLINE_PAINT_SEQUENCE, DefaultDrawingSupplier.DEFAULT_STROKE_SEQUENCE, DefaultDrawingSupplier.DEFAULT_OUTLINE_STROKE_SEQUENCE, DefaultDrawingSupplier.DEFAULT_SHAPE_SEQUENCE)); ChartPanel panel = new ChartPanel(chart); panel.setMouseWheelEnabled(true); return panel; }
From source file:org.geopublishing.atlasStyler.classification.RasterClassification.java
@Override public BufferedImage createHistogramImage(boolean showMean, boolean showSd, int histogramBins, String label_xachsis) throws InterruptedException, IOException { HistogramDataset hds = new HistogramDataset(); DoubleArrayList valuesAL;// w ww . j a va 2s . c om valuesAL = getStatistics().elements(); double[] elements = Arrays.copyOf(valuesAL.elements(), getStatistics().size()); hds.addSeries(1, elements, histogramBins); /** Statically label the Y Axis **/ String label_yachsis = ASUtil.R("QuantitiesClassificationGUI.Histogram.YAxisLabel"); JFreeChart chart = org.jfree.chart.ChartFactory.createHistogram(null, label_xachsis, label_yachsis, hds, PlotOrientation.VERTICAL, false, true, true); /*********************************************************************** * Paint the classes into the JFreeChart */ int countLimits = 0; for (Double cLimit : getClassLimits()) { ValueMarker marker = new ValueMarker(cLimit); XYPlot plot = chart.getXYPlot(); marker.setPaint(Color.orange); marker.setLabel(String.valueOf(countLimits)); marker.setLabelAnchor(RectangleAnchor.TOP_LEFT); marker.setLabelTextAnchor(TextAnchor.TOP_RIGHT); plot.addDomainMarker(marker); countLimits++; } /*********************************************************************** * Optionally painting SD and MEAN into the histogram */ try { if (showSd) { ValueMarker marker; marker = new ValueMarker(getSD(), Color.green.brighter(), new BasicStroke(1.5f)); XYPlot plot = chart.getXYPlot(); marker.setLabel(ASUtil.R("QuantitiesClassificationGUI.Histogram.SD.ShortLabel")); marker.setLabelAnchor(RectangleAnchor.BOTTOM_LEFT); marker.setLabelTextAnchor(TextAnchor.BOTTOM_RIGHT); plot.addDomainMarker(marker); } if (showMean) { ValueMarker marker; marker = new ValueMarker(getMean(), Color.green.darker(), new BasicStroke(1.5f)); XYPlot plot = chart.getXYPlot(); marker.setLabel(ASUtil.R("QuantitiesClassificationGUI.Histogram.Mean.ShortLabel")); marker.setLabelAnchor(RectangleAnchor.BOTTOM_LEFT); marker.setLabelTextAnchor(TextAnchor.BOTTOM_RIGHT); plot.addDomainMarker(marker); } } catch (Exception e) { LOGGER.error("Painting SD and MEAN into the histogram", e); } /*********************************************************************** * Render the Chart */ BufferedImage image = chart.createBufferedImage(400, 200); return image; }
From source file:iad.gui.HistogramDialog.java
private JFreeChart buildHistogram(final String title, final String xAxisLabel, final String yAxisLabel, final double[] numbers, final int div, final HistogramType type) { HistogramDataset dataset = new HistogramDataset(); dataset.setType(type);/*from ww w . ja v a 2 s . co m*/ dataset.addSeries(xAxisLabel, numbers, div); JFreeChart histogram = ChartFactory.createHistogram(title, xAxisLabel, yAxisLabel, dataset, PlotOrientation.VERTICAL, true, true, false); return histogram; }
From source file:org.jfree.chart.demo.HistogramDemo2.java
/** * Creates a sample {@link HistogramDataset}. * //from w w w . j av a 2 s .c o m * @return the dataset. */ private IntervalXYDataset createDataset() { final HistogramDataset dataset = new HistogramDataset(); final double[] values = { 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0 }; dataset.addSeries("H1", values, 10, 0.0, 10.0); return dataset; }
From source file:org.jfree.data.statistics.HistogramDatasetTest.java
/** * Some checks that the correct values are assigned to bins. *//*from w w w .j a v a 2 s .c o m*/ @Test public void testBins() { double[] values = { 1.0, 2.0, 3.0, 4.0, 6.0, 12.0, 5.0, 6.3, 4.5 }; HistogramDataset hd = new HistogramDataset(); hd.addSeries("Series 1", values, 5); assertEquals(hd.getYValue(0, 0), 3.0, EPSILON); assertEquals(hd.getYValue(0, 1), 3.0, EPSILON); assertEquals(hd.getYValue(0, 2), 2.0, EPSILON); assertEquals(hd.getYValue(0, 3), 0.0, EPSILON); assertEquals(hd.getYValue(0, 4), 1.0, EPSILON); }
From source file:v800_trainer.JHistogram.java
public JPanel StartHistoHf(JCicloTronic JTronicHandle) { boolean Summenhisto; int von = 0;//from w w w .j a v a2 s . c o m int bis = 0; int num = 0; int selected; int single; int Gruppen = 0; int i = 100; int j = 10; int m = 0; int n = 0; int Linecount = 0; int Anzahl = 1; JFreeChart chart; double DummyData[] = new double[1]; selected = JTronicHandle.Auswahl_Histogramm.getSelectedIndex(); Summenhisto = JTronicHandle.Summenhistogramm_Check.isSelected(); chart = ChartFactory.createHistogram("", "Herzfrequenz [p/min]", "Hufigkeit", new HistogramDataset(), PlotOrientation.HORIZONTAL, true, true, true); chart.setBackgroundPaint(Color.white); JTronicHandle.applyChartTheme(chart); XYPlot plot = chart.getXYPlot(); plot.setOrientation(PlotOrientation.VERTICAL); plot.setBackgroundPaint(Color.lightGray); plot.setDomainGridlinePaint(Color.white); plot.setRangeGridlinePaint(Color.white); plot.setAxisOffset(new RectangleInsets(5.0, 5.0, 5.0, 5.0)); plot.getRangeAxis().setFixedDimension(15.0); ArrayList Bufferarray = new ArrayList(); double Buffer; if (selected == 0) { single = 1; } else { single = 0; Summenhisto = false; } //einzelne Tour oder alle Touren von = Integer.parseInt(JTronicHandle.Properties.getProperty("HistovonHf", "100")); bis = Integer.parseInt(JTronicHandle.Properties.getProperty("HistobisHf", "200")); Gruppen = Integer.parseInt(JTronicHandle.Properties.getProperty("HistostepHf", "10")); Anzahl = (JTronicHandle.Auswahl_Histogramm.getItemCount() - 2) * single + 1; //komische Mathe; //wenn nur eine Tour ausgewhlt ist single = 0 und damit Anzahl =1 // sonst single gleich 1 und die Anzahl ist ItemCont - 1 for (j = 0; j < Anzahl; j++) { if (single == 1) { selected = j + 1; // single = 1 => Summe ist ausgewhlt und selected muss ein hher gesetz werden } if (!Summenhisto) { num = JTronicHandle.Statistikhandle.TourData[selected].Datenpunkte; } else { num += JTronicHandle.Statistikhandle.TourData[selected].Datenpunkte; } n = 0; if (!Summenhisto) { create_Start_Stop(JTronicHandle, selected); //die limits einer gezoomten Graphik ermitteln for (i = start; i < stop; i++) { //hier wird nun ber alle Daten gezhlt Buffer = (double) JTronicHandle.Statistikhandle.TourData[selected].Hf_gesZeit[i]; //aktueller Wert zwischengespeichert if (Buffer >= von && Buffer <= bis) { Bufferarray.add(Buffer); //wenn im ges. Intervall dann in das Bufferarray } } } else { //Summenhist ist ausgewhlt for (i = 0; i < j + 1; i++) { //schlechte Schleifensteuerung i=1;i<j htte es auch getan create_Start_Stop(JTronicHandle, i + 1); for (m = start; m < stop; m++) { // Schleife ber alle Datenpunkte Buffer = (double) JTronicHandle.Statistikhandle.TourData[i + 1].Hf_gesZeit[m]; if (Buffer >= von && Buffer <= bis) { Bufferarray.add(Buffer); } } } } DummyData = new double[Bufferarray.size()]; for (i = 0; i < Bufferarray.size(); i++) { DummyData[i] = new Double(Bufferarray.get(i).toString()); } if (!Summenhisto) { HistogramDataset histoHF = new HistogramDataset(); histoHF.addSeries( "" + JTronicHandle.Statistikhandle.TourData[selected].Tag + "." + JTronicHandle.Statistikhandle.TourData[selected].Monat + "." + JTronicHandle.Statistikhandle.TourData[selected].Jahr, DummyData, Gruppen, (double) von, (double) bis); histoHF.setType(HistogramType.RELATIVE_FREQUENCY); plot.setDataset(Linecount, histoHF); plot.mapDatasetToRangeAxis(Linecount, 0); XYBarRenderer renderer = new XYBarRenderer(); renderer.setDrawBarOutline(true); // renderer.setShadowVisible(false); renderer.setSeriesPaint(0, getColour(Linecount, (int) 255 / Anzahl)); renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator()); plot.setRenderer(Linecount, renderer); } Linecount++; } if (Summenhisto) { HistogramDataset histoHF = new HistogramDataset(); histoHF.addSeries("Summenhistogram", DummyData, Gruppen, (double) von, (double) bis); histoHF.setType(HistogramType.RELATIVE_FREQUENCY); plot.setDataset(0, histoHF); plot.mapDatasetToRangeAxis(0, 0); XYItemRenderer renderer = new XYBarRenderer(); renderer.setSeriesPaint(0, Color.blue); renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator()); plot.setRenderer(0, renderer); } chart.setPadding(padding); ChartPanel Panel = new ChartPanel(chart); return Panel; }
From source file:org.jfree.chart.demo.HistogramDemo.java
/** * Creates a sample {@link HistogramDataset}. * /*from www . j a v a 2s . c om*/ * @return The dataset. */ private IntervalXYDataset createDataset() { final HistogramDataset dataset = new HistogramDataset(); dataset.setType(HistogramType.RELATIVE_FREQUENCY); dataset.addSeries("H1", gaussianData(1000, 3.0), 20); dataset.addSeries("H0", gaussianData(1000, 0), 20); return dataset; }
From source file:edu.gmu.cs.sim.util.media.chart.HistogramGenerator.java
protected void update() { // We have to rebuild the dataset from scratch (deleting and replacing it) because JFreeChart's // histogram facility doesn't have a way to remove or move elements. Stupid stupid stupid. SeriesAttributes[] sa = getSeriesAttributes(); HistogramDataset dataset = new HistogramDataset(); dataset.setType(histogramType);/*from w w w .j a v a 2s. c o m*/ for (int i = 0; i < sa.length; i++) { HistogramSeriesAttributes attributes = (HistogramSeriesAttributes) (sa[i]); dataset.addSeries(new UniqueString(attributes.getSeriesName()), attributes.getValues(), attributes.getNumBins()); } setSeriesDataset(dataset); }
From source file:piilSource.Histogram.java
private static IntervalXYDataset createDataset(List<List<String>> betaValues, String metaLabel) { HistogramDataset histogramdataset = new HistogramDataset(); double ad[] = new double[betaValues.get(0).size()]; for (int i = 0; i < betaValues.get(0).size(); i++) { for (int j = 0; j < betaValues.size(); j++) { if (!isNumeric(betaValues.get(j).get(i))) { continue; }// w w w. jav a2 s . c o m ad[i] += Double.parseDouble(betaValues.get(j).get(i)); } ad[i] /= betaValues.size(); } if (metaLabel.equals("beta")) { histogramdataset.addSeries(metaLabel + " values", ad, 50, 0.00, 0.99); } else { histogramdataset.addSeries(metaLabel + " values", ad, 50); } return histogramdataset; }
From source file:org.apache.hadoopts.chart.statistic.HistogramChart.java
public void addSerieWithBinning(TimeSeriesObject _mr, int bins, double min, double max) { if (mr == null) dataset = new HistogramDataset(); this.mr = _mr; double[] values = mr.getYData(); dataset.addSeries(mr.getLabel(), values, bins, min, max); }