Example usage for org.jfree.data.general DefaultKeyedValues2DDataset addValue

List of usage examples for org.jfree.data.general DefaultKeyedValues2DDataset addValue

Introduction

In this page you can find the example usage for org.jfree.data.general DefaultKeyedValues2DDataset addValue.

Prototype

public void addValue(Number value, Comparable rowKey, Comparable columnKey) 

Source Link

Document

Adds a value to the table.

Usage

From source file:org.jfree.chart.demo.PopulationChartDemo1.java

private KeyedValues2DDataset createDataset() {
    DefaultKeyedValues2DDataset defaultkeyedvalues2ddataset = new DefaultKeyedValues2DDataset();
    defaultkeyedvalues2ddataset.addValue(-6D, "Male", "70+");
    defaultkeyedvalues2ddataset.addValue(-8D, "Male", "60-69");
    defaultkeyedvalues2ddataset.addValue(-11D, "Male", "50-59");
    defaultkeyedvalues2ddataset.addValue(-13D, "Male", "40-49");
    defaultkeyedvalues2ddataset.addValue(-14D, "Male", "30-39");
    defaultkeyedvalues2ddataset.addValue(-15D, "Male", "20-29");
    defaultkeyedvalues2ddataset.addValue(-19D, "Male", "10-19");
    defaultkeyedvalues2ddataset.addValue(-21D, "Male", "0-9");
    defaultkeyedvalues2ddataset.addValue(10D, "Female", "70+");
    defaultkeyedvalues2ddataset.addValue(12D, "Female", "60-69");
    defaultkeyedvalues2ddataset.addValue(13D, "Female", "50-59");
    defaultkeyedvalues2ddataset.addValue(14D, "Female", "40-49");
    defaultkeyedvalues2ddataset.addValue(15D, "Female", "30-39");
    defaultkeyedvalues2ddataset.addValue(17D, "Female", "20-29");
    defaultkeyedvalues2ddataset.addValue(19D, "Female", "10-19");
    defaultkeyedvalues2ddataset.addValue(20D, "Female", "0-9");
    return defaultkeyedvalues2ddataset;
}

From source file:org.jfree.data.general.DefaultKeyedValues2DDatasetTest.java

/**
 * Serialize an instance, restore it, and check for equality.
 *///w  w w . j  a  v a  2s.com
public void testSerialization() {
    DefaultKeyedValues2DDataset d1 = new DefaultKeyedValues2DDataset();
    d1.addValue(new Double(234.2), "Row1", "Col1");
    d1.addValue(null, "Row1", "Col2");
    d1.addValue(new Double(345.9), "Row2", "Col1");
    d1.addValue(new Double(452.7), "Row2", "Col2");

    DefaultKeyedValues2DDataset d2 = (DefaultKeyedValues2DDataset) TestUtilities.serialised(d1);
    assertEquals(d1, d2);
}

From source file:org.jfree.chart.demo.PopulationChartDemo.java

/**
 * Creates a dataset./*from  www .j a v  a2s.com*/
 * 
 * @return A dataset.
 */
private KeyedValues2DDataset createDataset() {

    final DefaultKeyedValues2DDataset data = new DefaultKeyedValues2DDataset();
    data.addValue(-6.0, "Male", "70+");
    data.addValue(-8.0, "Male", "60-69");
    data.addValue(-11.0, "Male", "50-59");
    data.addValue(-13.0, "Male", "40-49");
    data.addValue(-14.0, "Male", "30-39");
    data.addValue(-15.0, "Male", "20-29");
    data.addValue(-19.0, "Male", "10-19");
    data.addValue(-21.0, "Male", "0-9");
    data.addValue(10.0, "Female", "70+");
    data.addValue(12.0, "Female", "60-69");
    data.addValue(13.0, "Female", "50-59");
    data.addValue(14.0, "Female", "40-49");
    data.addValue(15.0, "Female", "30-39");
    data.addValue(17.0, "Female", "20-29");
    data.addValue(19.0, "Female", "10-19");
    data.addValue(20.0, "Female", "0-9");
    return data;

}

From source file:ch.bfh.lca._15h.server.statisticServices.ChartHandler.java

/**
 * Generates a JFreeChart object, which represents an age-pyramide diagramm.
 * @param arrResults an array of GenericResultRow objects. The following assignement has to be done:
 * Value at Position 0 = Categorie (such as Age 25 to 30)
 * Value at Position 1 = Count of males//from ww  w. j  av  a  2 s  .co  m
 * Value at Position 2 = Count of females
 * @return an JFreeChart Object
 */
public JFreeChart generatesPopulationChart(GenericResultRow[] arrResults) {

    DefaultKeyedValues2DDataset data = new DefaultKeyedValues2DDataset();

    for (GenericResultRow resultRow : arrResults) {
        long maleCount = (long) resultRow.getValueAt(1);
        long femaleCount = (long) resultRow.getValueAt(2);
        String category = (String) resultRow.getValueAt(0);
        // Mnner
        data.addValue(-maleCount, "Mnner", category);
        // Frauem
        data.addValue(femaleCount, "Frauen", category);
    }

    // create the chart...
    JFreeChart chart = ChartFactory.createStackedBarChart("Arzt-Patientenkontakte (APK)", "Alter", // domain axis label
            "Arzt-Patientenkontakte (APK)", // range axis label
            data, // data
            PlotOrientation.HORIZONTAL, true, // include legend
            true, // tooltips
            false);

    return chart;
}

From source file:canreg.client.gui.dataentry.PDSEditorInternalFrame.java

private DefaultKeyedValues2DDataset getJChartDataset() {
    DefaultKeyedValues2DDataset dataset = new DefaultKeyedValues2DDataset();
    buildPDSfromTable(); // update the PDS
    PopulationDatasetsEntry[] ageGroups = pds.getAgeGroups();
    Arrays.sort(ageGroups, new Comparator<PopulationDatasetsEntry>() {
        @Override/*from w  ww  . j a  va2  s. c  o m*/
        public int compare(PopulationDatasetsEntry o1, PopulationDatasetsEntry o2) {
            return o2.getAgeGroup() - o1.getAgeGroup();
        }
    });
    for (PopulationDatasetsEntry entry : ageGroups) {
        String label = java.util.ResourceBundle
                .getBundle("canreg/client/gui/dataentry/resources/PDSEditorInternalFrame").getString("FEMALE");
        int count = entry.getCount();
        entry.getAgeGroup();
        if (entry.getSex() == 1) {
            count = -count;
            label = java.util.ResourceBundle
                    .getBundle("canreg/client/gui/dataentry/resources/PDSEditorInternalFrame")
                    .getString("MALE");
        }
        dataset.addValue(count, label, ageGroupLabelsTable.getValueAt(entry.getAgeGroup(), 0).toString());
    }
    return dataset;
}

From source file:charts.Chart.java

public static void PlotMeanParallelCoordinates(String title, String x_axis_label, String y_axis_label,
        float[][] Md, int classes, int[] features, Vector featurestitles, Vector datatitles) {
    JFrame chartwindow = new JFrame(title);

    JFreeChart jfreechart = ChartFactory.createLineChart(title, x_axis_label, y_axis_label, null,
            PlotOrientation.VERTICAL, true, true, false);

    CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot();
    categoryplot.setBackgroundPaint(Color.white);
    categoryplot.setRangeGridlinePaint(Color.black);

    NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis();
    numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());

    int lines = Md.length;
    int columns = Md[0].length;

    LineAndShapeRenderer[] lineandshaperenderer = new LineAndShapeRenderer[classes];
    //lineandshaperenderer[0] = new LineAndShapeRenderer();//(LineAndShapeRenderer) categoryplot.getRenderer();
    //lineandshaperenderer[0].setShapesVisible(true);
    //lineandshaperenderer[0].setDrawOutlines(true);
    //lineandshaperenderer[0].setUseFillPaint(true);
    //lineandshaperenderer[0].setFillPaint(Color.white);

    for (int i = 0; i < lineandshaperenderer.length; i++) {
        lineandshaperenderer[i] = new LineAndShapeRenderer();
        lineandshaperenderer[i].setShapesVisible(true);
        lineandshaperenderer[i].setDrawOutlines(true);
        lineandshaperenderer[i].setUseFillPaint(true);
        lineandshaperenderer[i].setFillPaint(Color.white);
        lineandshaperenderer[i].setBaseStroke(new BasicStroke(2.0f));
    }/*from  w w  w.  j av  a  2 s  . c o  m*/

    double[][][] valuesperclasse = new double[columns][classes][2];
    /* a primeira coluna acumula a soma dos valores, e a segunda coluna
    conta o numero de vezes que recebeu um valor,
    para gerar a media aritmetica dos valores de cada atributo para
    cada uma das classes.*/
    for (int i = 0; i < lines; i++) {
        int classe = ((int) Md[i][columns - 1]);
        int j = 0;
        while (j < features.length) {
            valuesperclasse[features[j]][classe][0] += Md[i][features[j]];
            valuesperclasse[features[j]][classe][1]++;
            j++;
        }
    }

    for (int i = 0; i < classes; i++) {
        DefaultKeyedValues2DDataset dataset = new DefaultKeyedValues2DDataset();
        double meanvaluej = 0;
        for (int j = 0; j < features.length; j++) {
            meanvaluej = valuesperclasse[features[j]][i][0] / valuesperclasse[features[j]][i][1];

            String strclasse = String.valueOf(i);

            //especifico Marie-Anne
            /*
            if (i == 0) {
            strclasse = "thi1";
            lineandshaperenderer[i].setSeriesPaint(0, Color.RED);
            Shape s0 = new Rectangle2D.Float(-3f, -3f, 6f, 6f);
            lineandshaperenderer[i].setSeriesShape(0, s0);
            } else if (i == 1) {
            strclasse = "controle";
            lineandshaperenderer[i].setSeriesPaint(0, Color.PINK);
            Shape s1 = new Ellipse2D.Float(-3f, -3f, 6f, 6f);
            lineandshaperenderer[i].setSeriesShape(0, s1);
            } else if (i == 2) {
            strclasse = "fotossntese";
            lineandshaperenderer[i].setSeriesPaint(0, Color.GREEN);
            int[] x = {-3, 0, 3};
            int[] y = {-3, 3, -3};
            int n = 3;
            Shape s2 = new Polygon(x, y, n);
            lineandshaperenderer[i].setSeriesShape(0, s2);
            } else if (i == 3) {
            strclasse = "respirao";
            int[] x = {-3, 0, 3};
            int[] y = {3, -3, 3};
            int n = 3;
            Shape s3 = new Polygon(x, y, n);
            lineandshaperenderer[i].setSeriesShape(0, s3);
            lineandshaperenderer[i].setSeriesPaint(0, Color.BLUE);
            } else if (i == 4) {
            strclasse = "sntese de tiamina";
            lineandshaperenderer[i].setSeriesPaint(0, Color.BLACK);
            Shape s4 = new Rectangle2D.Float(-1f, -3f, 1f, 6f);
            lineandshaperenderer[i].setSeriesShape(0, s4);
            } else if (i == 5) {
            strclasse = "gliclise";
            int[] x = {-3, 0, 3, 0};
            int[] y = {0, -3, 0, 3};
            int n = 4;
            Shape s5 = new Polygon(x, y, n);
            lineandshaperenderer[i].setSeriesPaint(0, Color.ORANGE);
            lineandshaperenderer[i].setSeriesShape(0, s5);
            } else if (i == 6) {
            strclasse = "AT4G34200";
            int[] x = {-3, 0, 3, 0};
            int[] y = {0, -3, 0, 3};
            int n = 4;
            Shape s5 = new Polygon(x, y, n);
            lineandshaperenderer[i].setSeriesPaint(0, Color.MAGENTA);
            lineandshaperenderer[i].setSeriesShape(0, s5);
            } else if (i == 7) {
            strclasse = "AT2G36530";
            int[] x = {-3, 0, 3, 0};
            int[] y = {0, -3, 0, 3};
            int n = 4;
            Shape s5 = new Polygon(x, y, n);
            lineandshaperenderer[i].setSeriesPaint(0, Color.CYAN);
            lineandshaperenderer[i].setSeriesShape(0, s5);
            }
             */

            if (featurestitles != null) {
                if (datatitles != null) {
                    dataset.addValue(meanvaluej, strclasse, (String) featurestitles.get(features[j] + 1));
                    //datasets[i].addValue(Mo[lineindex[i]][c], label, (String) featurestitles.get(c + 1));
                } else {
                    dataset.addValue(meanvaluej, strclasse, (String) featurestitles.get(features[j]));
                    //datasets[i].addValue(Mo[lineindex[i]][c], label, (String) featurestitles.get(c));
                }
            } else {
                dataset.addValue(meanvaluej, strclasse, String.valueOf(features[j]));
                //dataset.addValue(meanvaluej, String.valueOf(i), String.valueOf(features[j]));
            }
            //dataset.addValue(meanvaluej, String.valueOf(i), String.valueOf(features[j]));
        }
        categoryplot.setDataset(i, dataset);
        categoryplot.setRenderer(i, lineandshaperenderer[i]);
    }
    JPanel jpanel = new ChartPanel(jfreechart);
    jpanel.setPreferredSize(new Dimension(defaultwidth, defaultheight));
    chartwindow.setContentPane(jpanel);
    chartwindow.pack();
    RefineryUtilities.centerFrameOnScreen(chartwindow);
    chartwindow.setVisible(true);
}

From source file:charts.Chart.java

public static void PlotParallelCoordinates(String title, String x_axis_label, String y_axis_label, float[][] Md,
        int classes, int[] features, Vector featurestitles, Vector datatitles) {
    JFrame chartwindow = new JFrame(title);
    JFreeChart jfreechart = ChartFactory.createLineChart(title, x_axis_label, y_axis_label, null,
            PlotOrientation.VERTICAL, true, true, false);

    CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot();
    categoryplot.setBackgroundPaint(Color.white);
    categoryplot.setRangeGridlinePaint(Color.black);
    NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis();
    numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());

    int lines = Md.length;
    int columns = Md[0].length;

    LineAndShapeRenderer[] lineandshaperenderer = new LineAndShapeRenderer[classes];

    for (int i = 0; i < lineandshaperenderer.length; i++) {
        lineandshaperenderer[i] = new LineAndShapeRenderer();
        lineandshaperenderer[i].setShapesVisible(true);
        lineandshaperenderer[i].setDrawOutlines(true);
        lineandshaperenderer[i].setUseFillPaint(true);
        lineandshaperenderer[i].setFillPaint(Color.white);
        lineandshaperenderer[i].setBaseStroke(new BasicStroke(2.0f));
    }/*from ww w .  ja v  a 2  s. co  m*/
    int count = 0;
    for (int i = 0; i < lines; i++) {
        int classe = ((int) Md[i][columns - 1]);
        DefaultKeyedValues2DDataset dataset = new DefaultKeyedValues2DDataset();
        int j = 0;
        double value = 0;
        while (j < features.length) {
            /*value recebe o valor da linha i e da coluna especificada
            pelo usuario, por meio do parametro de chegada features[]*/
            value = Md[i][features[j]];

            String strclasse = String.valueOf(classe);
            //especifico Marie-Anne
            /*
            if (classe == 0) {
            strclasse = "thi1";
            lineandshaperenderer[classe].setSeriesPaint(0, Color.RED);
            Shape s0 = new Rectangle2D.Float(-3f, -3f, 6f, 6f);
            lineandshaperenderer[classe].setSeriesShape(0, s0);
            } else if (classe == 1) {
            strclasse = "controle";
            lineandshaperenderer[classe].setSeriesPaint(0, Color.PINK);
            Shape s1 = new Ellipse2D.Float(-3f, -3f, 6f, 6f);
            lineandshaperenderer[classe].setSeriesShape(0, s1);
            } else if (classe == 2) {
            strclasse = "fotossntese";
            lineandshaperenderer[classe].setSeriesPaint(0, Color.GREEN);
            int[] x = {-3, 0, 3};
            int[] y = {-3, 3, -3};
            int n = 3;
            Shape s2 = new Polygon(x, y, n);
            lineandshaperenderer[classe].setSeriesShape(0, s2);
            } else if (classe == 3) {
            strclasse = "respirao";
            int[] x = {-3, 0, 3};
            int[] y = {3, -3, 3};
            int n = 3;
            Shape s3 = new Polygon(x, y, n);
            lineandshaperenderer[classe].setSeriesShape(0, s3);
            lineandshaperenderer[classe].setSeriesPaint(0, Color.BLUE);
            } else if (classe == 4) {
            strclasse = "sntese de tiamina";
            lineandshaperenderer[classe].setSeriesPaint(0, Color.BLACK);
            Shape s4 = new Rectangle2D.Float(-1f, -3f, 1f, 6f);
            lineandshaperenderer[classe].setSeriesShape(0, s4);
            } else if (classe == 5) {
            strclasse = "gliclise";
            int[] x = {-3, 0, 3, 0};
            int[] y = {0, -3, 0, 3};
            int n = 4;
            Shape s5 = new Polygon(x, y, n);
            lineandshaperenderer[classe].setSeriesPaint(0, Color.ORANGE);
            lineandshaperenderer[classe].setSeriesShape(0, s5);
            } else if (classe == 6) {
            strclasse = "AT4G34200";
            int[] x = {-3, 0, 3, 0};
            int[] y = {0, -3, 0, 3};
            int n = 4;
            Shape s5 = new Polygon(x, y, n);
            lineandshaperenderer[classe].setSeriesPaint(0, Color.MAGENTA);
            lineandshaperenderer[classe].setSeriesShape(0, s5);
            } else if (classe == 7) {
            strclasse = "AT2G36530";
            int[] x = {-3, 0, 3, 0};
            int[] y = {0, -3, 0, 3};
            int n = 4;
            Shape s5 = new Polygon(x, y, n);
            lineandshaperenderer[classe].setSeriesPaint(0, Color.CYAN);
            lineandshaperenderer[classe].setSeriesShape(0, s5);
            }
             */

            if (featurestitles != null) {
                if (datatitles != null) {
                    dataset.addValue(value, strclasse, (String) featurestitles.get(features[j] + 1));
                    //datasets[i].addValue(Mo[lineindex[i]][c], label, (String) featurestitles.get(c + 1));
                } else {
                    dataset.addValue(value, strclasse, (String) featurestitles.get(features[j]));
                    //datasets[i].addValue(Mo[lineindex[i]][c], label, (String) featurestitles.get(c));
                }
            } else {
                dataset.addValue(value, strclasse, String.valueOf(features[j]));
                //datasets[i].addValue(Mo[lineindex[i]][c], label, String.valueOf(c));
            }
            //dataset.addValue(value, String.valueOf(classe), String.valueOf(features[j]));
            j++;
        }
        categoryplot.setDataset(count, dataset);
        categoryplot.setRenderer(count, lineandshaperenderer[classe]);
        count++;
    }
    LegendItemCollection legends = categoryplot.getLegendItems();
    LegendItemCollection newlegends = new LegendItemCollection();
    for (int i = 0; i < classes; i++) {
        int l = 0;
        //especifico Marie-Anne
        String label1 = null;
        if (i == 0) {
            label1 = "thi1";
        } else if (i == 1) {
            label1 = "controle";
        } else if (i == 2) {
            label1 = "fotossntese";
        } else if (i == 3) {
            label1 = "respirao";
        } else if (i == 4) {
            label1 = "sntese de tiamina";
        } else if (i == 5) {
            label1 = "gliclise";
        } else if (i == 6) {
            label1 = "AT4G34200";
        } else if (i == 7) {
            label1 = "AT2G36530";
        }

        //String label1 = String.valueOf(i);
        String label2 = null;
        boolean found = false;
        do {
            label2 = legends.get(l).getLabel();
            if (label1.equalsIgnoreCase(label2)) {
                found = true;
            } else {
                l++;
            }
        } while (!found && (l < lines));
        if (found) {
            //newlegends.add(legends.get(l));
            LegendItem li = new LegendItem(legends.get(l).getLabel(), legends.get(l).getDescription(),
                    legends.get(l).getToolTipText(), legends.get(l).getURLText(),
                    legends.get(l).isShapeVisible(), legends.get(l).getShape(), legends.get(l).isShapeFilled(),
                    legends.get(l).getFillPaint(), legends.get(l).isShapeOutlineVisible(),
                    legends.get(l).getOutlinePaint(), legends.get(l).getOutlineStroke(),
                    legends.get(l).isLineVisible(), legends.get(l).getLine(), legends.get(l).getLineStroke(),
                    legends.get(l).getLinePaint());
            newlegends.add(li);
        }
    }
    categoryplot.setFixedLegendItems(newlegends);
    JPanel jpanel = new ChartPanel(jfreechart);
    jpanel.setPreferredSize(new Dimension(defaultwidth, defaultheight));
    chartwindow.setContentPane(jpanel);
    chartwindow.pack();
    RefineryUtilities.centerFrameOnScreen(chartwindow);
    chartwindow.setVisible(true);
}