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

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

Introduction

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

Prototype

DefaultKeyedValues2DDataset

Source Link

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: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 w  w  w.  j  a  va  2s.c o  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:org.jfree.data.general.DefaultKeyedValues2DDatasetTest.java

/**
 * Confirm that cloning works.//from ww w.ja  v  a2s  . co  m
 */
@Test
public void testCloning() throws CloneNotSupportedException {
    DefaultKeyedValues2DDataset d1 = new DefaultKeyedValues2DDataset();
    d1.setValue(new Integer(1), "V1", "C1");
    d1.setValue(null, "V2", "C1");
    d1.setValue(new Integer(3), "V3", "C2");
    DefaultKeyedValues2DDataset d2 = (DefaultKeyedValues2DDataset) d1.clone();
    assertTrue(d1 != d2);
    assertTrue(d1.getClass() == d2.getClass());
    assertTrue(d1.equals(d2));
}

From source file:dk.sdu.mmmi.featureous.views.codecharacterization.TanglingViewChart.java

public TanglingViewChart(boolean pkg, boolean sortByValue) {
    this.sortByValue = sortByValue;
    this.pkg = pkg;
    data = new DefaultKeyedValues2DDataset();
    String title = "Computational unit characterization";
    jchart = ChartFactory.createStackedBarChart(title, (pkg) ? "Package" : "Class", "Tangling", data,
            PlotOrientation.VERTICAL, true, false, false);
    CategoryPlot plot = (CategoryPlot) jchart.getPlot();
    //        chart.getLegend().setPosition(RectangleEdge.RIGHT);
    //        chart.getLegend().setVerticalAlignment(VerticalAlignment.TOP);
    //        chart.getLegend().setHorizontalAlignment(HorizontalAlignment.LEFT);
    LegendItemCollection lic = new LegendItemCollection();
    //        lic.add(new LegendItem("Infrastructural unit", "", "", "", new Rectangle(10, 10), Color.GREEN));
    //        lic.add(new LegendItem("Group-feature unit", "", "", "", new Rectangle(10, 10), Color.BLUE));
    //        lic.add(new LegendItem("Single-feature unit", "", "", "", new Rectangle(10, 10), Color.RED));
    plot.setFixedLegendItems(lic);/*from   w w  w. ja  v a2 s . c  om*/
    //        chart.removeLegend();
    plot.setDomainAxis(new SparselyLabeledCategoryAxis(20));
    CategoryAxis xAxis = (CategoryAxis) plot.getDomainAxis();
    xAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_90);
    xAxis.setLabel((pkg) ? "Package" : "Class");
    //        xAxis.setTickLabelInsets(new RectangleInsets(0, 0, 5, 5));
    //        xAxis.setMaximumCategoryLabelLines(1);
    xAxis.setLowerMargin(0);
    xAxis.setCategoryMargin(0);
    xAxis.setUpperMargin(0);
    //        xAxis.setMaximumCategoryLabelWidthRatio(20f);
    jchart.setBackgroundPaint(Color.white);

    StackedBarRenderer renderer = new StackedBarRenderer() {

        @Override
        public void drawItem(Graphics2D g2, CategoryItemRendererState state, Rectangle2D dataArea,
                CategoryPlot plot, CategoryAxis domainAxis, ValueAxis rangeAxis, CategoryDataset dataset,
                int row, int column, int pass) {
            super.drawItem(g2, state, dataArea, plot, domainAxis, rangeAxis, dataset, row, column, pass);
            double start = plot.getDomainAxis().getCategoryStart(column, getColumnCount(), dataArea,
                    plot.getDomainAxisEdge());
            double end = plot.getDomainAxis().getCategoryEnd(column, getColumnCount(), dataArea,
                    plot.getDomainAxisEdge());

            String compUnit = data.getRowKey(row).toString();

            // Calculate y coeffs
            double posBase = getBase();
            //                for(int i = 0; i<row; i++){
            //                    Number val = dataset.getValue(i, column);
            //                    if(val!=null){
            //                        posBase = posBase + val.doubleValue();
            //                    }
            //                }

            Number value = dataset.getValue(row, column);
            if (value == null) {
                return;
            }
            double val = value.doubleValue();

            double translatedBase = plot.getRangeAxis().valueToJava2D(posBase, dataArea,
                    plot.getRangeAxisEdge());
            double translatedValue = plot.getRangeAxis().valueToJava2D(posBase + val, dataArea,
                    plot.getRangeAxisEdge());

            if (Controller.getInstance().getTraceSet().getSelectionManager().getSelectedClasses()
                    .contains(compUnit)
                    || Controller.getInstance().getTraceSet().getSelectionManager().getSelectedPkgs()
                            .contains(compUnit)) {
                g2.setPaint(UIUtils.SELECTION_COLOR);
                g2.setStroke(new BasicStroke(3f));
                Line2D l2d = new Line2D.Double(start, translatedBase, start, translatedValue);
                g2.draw(l2d);
                l2d = new Line2D.Double(end, translatedBase, end, translatedValue);
                g2.draw(l2d);
                l2d = new Line2D.Double(start, translatedBase, end, translatedBase);
                g2.draw(l2d);
                l2d = new Line2D.Double(start, translatedValue, end, translatedValue);
                g2.draw(l2d);
            }
        }
    };

    renderer.setToolTipGenerator(new CategoryToolTipGenerator() {

        public String generateToolTip(CategoryDataset cd, int i, int i1) {
            String key = data.getRowKey(i).toString();
            //                key = key.substring(0, key.length()-1);
            return "<html>" + i + " - " + key + "<br>" + Double.toString(cd.getValue(i, i1).doubleValue())
                    + "</hmtl>";
        }
    });

    plot.setRenderer(renderer);

    panel = new ChartPanel(jchart);

    panel.getPopupMenu().setEnabled(false);//add(SVGExporter.createExportAction(chart, panel));

    createView();
    Controller.getInstance().getTraceSet().getSelectionManager().addSelectionListener(this);
}

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

/**
 * Serialize an instance, restore it, and check for equality.
 *///ww  w .  j a  v a  2s . co  m
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.// w ww  .j  ava  2 s  .  c o m
 * 
 * @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: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 w w w .  j av a2 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);
}

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  a  va 2s  .  co  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: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 v  a 2s. co 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;
}