Example usage for org.jfree.util SortOrder DESCENDING

List of usage examples for org.jfree.util SortOrder DESCENDING

Introduction

In this page you can find the example usage for org.jfree.util SortOrder DESCENDING.

Prototype

SortOrder DESCENDING

To view the source code for org.jfree.util SortOrder DESCENDING.

Click Source Link

Document

Descending order.

Usage

From source file:com.pureinfo.srm.reports.impl.MyChartFactory.java

public static JFreeChart createBarChart3D(String title, String categoryAxisLabel, String valueAxisLabel,
        CategoryDataset dataset, PlotOrientation orientation, boolean legend, boolean tooltips, boolean urls) {

    if (orientation == null) {
        throw new IllegalArgumentException("Null 'orientation' argument.");
    }//from  w w w  .j  a  v  a  2  s. co  m
    CategoryAxis categoryAxis = new CategoryAxis3D(categoryAxisLabel);
    ValueAxis valueAxis = new NumberAxis3D(valueAxisLabel);

    BarRenderer3D renderer = new BarRenderer3D() {
        /**
         * @see org.jfree.chart.renderer.AbstractRenderer#getItemPaint(int, int)
         */
        public Paint getItemPaint(int _nRow, int _nColumn) {
            return getSeriesPaint(_nColumn);
        }
    };
    if (tooltips) {
        renderer.setBaseToolTipGenerator(new StandardCategoryToolTipGenerator());
    }
    if (urls) {
        renderer.setBaseItemURLGenerator(new StandardCategoryURLGenerator());
    }

    CategoryPlot plot = new CategoryPlot(dataset, categoryAxis, valueAxis, renderer);
    plot.setOrientation(orientation);
    if (orientation == PlotOrientation.HORIZONTAL) {
        // change rendering order to ensure that bar overlapping is the 
        // right way around
        plot.setRowRenderingOrder(SortOrder.DESCENDING);
        plot.setColumnRenderingOrder(SortOrder.DESCENDING);
    }
    plot.setForegroundAlpha(0.75f);

    JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT, plot, legend);

    return chart;

}

From source file:org.pentaho.chart.plugin.jfreechart.chart.bar.JFreeLayeredBarChartGenerator.java

/**
 * Creates layered bar chart and creates range axis for it.
 * </p>//from  w w  w  .j a  va 2s .  c  om
 * @param chartDocContext Current chart's document context
 * @param data Current chart data
 * @return Returns JFree layered bar chart.
 */
protected JFreeChart doCreateChart(final ChartDocumentContext chartDocContext, final ChartTableModel data) {
    final JFreeChart chart = createChart(chartDocContext, data, JFreeBarChartTypes.DEFAULT);
    /*
     * Doing all the render stuff and then off to create range axis.
     * NOTE: The chart object will be updated.
     */
    final LayeredBarRenderer renderer = new LayeredBarRenderer();
    renderer.setDrawBarOutline(false);
    chart.getCategoryPlot().setRenderer(renderer);
    chart.getCategoryPlot().setRowRenderingOrder(SortOrder.DESCENDING);

    createRangeAxis(chartDocContext, data, chart);
    return chart;
}

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

public static CategoryDataset[] createDatasets() {
    DefaultKeyedValues defaultkeyedvalues = new DefaultKeyedValues();
    defaultkeyedvalues.addValue("C", new Integer(4843));
    defaultkeyedvalues.addValue("C++", new Integer(2098));
    defaultkeyedvalues.addValue("C#", new Integer(26));
    defaultkeyedvalues.addValue("Java", new Integer(1901));
    defaultkeyedvalues.addValue("Perl", new Integer(2507));
    defaultkeyedvalues.addValue("PHP", new Integer(1689));
    defaultkeyedvalues.addValue("Python", new Integer(948));
    defaultkeyedvalues.addValue("Ruby", new Integer(100));
    defaultkeyedvalues.addValue("SQL", new Integer(263));
    defaultkeyedvalues.addValue("Unix Shell", new Integer(485));
    defaultkeyedvalues.sortByValues(SortOrder.DESCENDING);
    org.jfree.data.KeyedValues keyedvalues = DataUtilities.getCumulativePercentages(defaultkeyedvalues);
    CategoryDataset categorydataset = DatasetUtilities.createCategoryDataset("Languages", defaultkeyedvalues);
    CategoryDataset categorydataset1 = DatasetUtilities.createCategoryDataset("Cumulative", keyedvalues);
    return (new CategoryDataset[] { categorydataset, categorydataset1 });
}

From source file:edu.cuny.cat.ui.ChargePlotPanel.java

public ChargePlotPanel() {

    registry = GameController.getInstance().getRegistry();

    setTitledBorder("Charges");

    dataset = new DefaultCategoryDataset();

    final JFreeChart chart = ChartFactory.createBarChart("", "", "", dataset, PlotOrientation.HORIZONTAL, true,
            true, false);//from   w ww  . j  a v  a 2  s .c om
    // chart.setAntiAlias(false);
    chart.setBackgroundPaint(getBackground());
    categoryplot = (CategoryPlot) chart.getPlot();
    categoryplot.setBackgroundPaint(Color.lightGray);
    categoryplot.setRangeGridlinePaint(Color.white);
    final BarRenderer barrenderer = (BarRenderer) categoryplot.getRenderer();
    UIUtils.setDefaultBarRendererStyle(barrenderer);
    barrenderer.setLegendItemToolTipGenerator(new StandardCategorySeriesLabelGenerator("Tooltip: {0}"));

    categoryplot.setRowRenderingOrder(SortOrder.DESCENDING);
    final ChartPanel chartPanel = new ChartPanel(chart);
    add(chartPanel, BorderLayout.CENTER);
}

From source file:org.epsilonlabs.workflow.execution.example.GraphOutput.java

public GraphOutput(String appname, String graphname, String x, String y) {
    super(appname);
    barChart = ChartFactory.createBarChart(graphname, x, y, dataset, PlotOrientation.VERTICAL, false, true,
            false);/*from   w  w  w . ja  v a2 s  .  c  o  m*/

    ChartPanel chartPanel = new ChartPanel(barChart);
    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    int width = new Double(screenSize.getWidth()).intValue() - 100;
    chartPanel.setMaximumDrawHeight(500);
    chartPanel.setMaximumDrawWidth(width);
    chartPanel.setPreferredSize(new java.awt.Dimension(width, 500));
    setContentPane(chartPanel);

    Font font = new Font("Dialog", Font.PLAIN, 15);
    barChart.getCategoryPlot().getDomainAxis().setTickLabelFont(font);
    barChart.getCategoryPlot().setColumnRenderingOrder(SortOrder.DESCENDING);

}

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

/**
 * Creates a new demo instance./*from w w  w .  j  av  a 2s. co  m*/
 *
 * @param title  the frame title.
 */
public ParetoChartDemo(final String title) {

    super(title);

    final DefaultKeyedValues data = new DefaultKeyedValues();
    data.addValue("C", new Integer(4843));
    data.addValue("C++", new Integer(2098));
    data.addValue("C#", new Integer(26));
    data.addValue("Java", new Integer(1901));
    data.addValue("Perl", new Integer(2507));
    data.addValue("PHP", new Integer(1689));
    data.addValue("Python", new Integer(948));
    data.addValue("Ruby", new Integer(100));
    data.addValue("SQL", new Integer(263));
    data.addValue("Unix Shell", new Integer(485));

    data.sortByValues(SortOrder.DESCENDING);
    final KeyedValues cumulative = DataUtilities.getCumulativePercentages(data);
    final CategoryDataset dataset = DatasetUtilities.createCategoryDataset("Languages", data);

    // create the chart...
    final JFreeChart chart = ChartFactory.createBarChart("Freshmeat Software Projects", // chart title
            "Language", // domain axis label
            "Projects", // range axis label
            dataset, // data
            PlotOrientation.VERTICAL, true, // include legend
            true, false);

    // NOW DO SOME OPTIONAL CUSTOMISATION OF THE CHART...
    chart.addSubtitle(new TextTitle("By Programming Language"));
    chart.addSubtitle(new TextTitle("As at 5 March 2003"));

    // set the background color for the chart...
    chart.setBackgroundPaint(new Color(0xBBBBDD));

    // get a reference to the plot for further customisation...
    final CategoryPlot plot = chart.getCategoryPlot();

    final CategoryAxis domainAxis = plot.getDomainAxis();
    domainAxis.setLowerMargin(0.02);
    domainAxis.setUpperMargin(0.02);

    // set the range axis to display integers only...
    final NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
    rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());

    final LineAndShapeRenderer renderer2 = new LineAndShapeRenderer();

    final CategoryDataset dataset2 = DatasetUtilities.createCategoryDataset("Cumulative", cumulative);
    final NumberAxis axis2 = new NumberAxis("Percent");
    axis2.setNumberFormatOverride(NumberFormat.getPercentInstance());
    plot.setRangeAxis(1, axis2);
    plot.setDataset(1, dataset2);
    plot.setRenderer(1, renderer2);
    plot.mapDatasetToRangeAxis(1, 1);

    plot.setDatasetRenderingOrder(DatasetRenderingOrder.REVERSE);
    // OPTIONAL CUSTOMISATION COMPLETED.

    // add the chart to a panel...
    final ChartPanel chartPanel = new ChartPanel(chart);
    chartPanel.setPreferredSize(new java.awt.Dimension(550, 270));
    setContentPane(chartPanel);

}

From source file:org.jfree.data.KeyedValueComparator.java

/**
 * Compares two {@link KeyedValue} instances and returns an
 * <code>int</code> that indicates the relative order of the two objects.
 *
 * @param o1  object 1.// w w w .  ja v a2s.co m
 * @param o2  object 2.
 *
 * @return An int indicating the relative order of the objects.
 */
@Override
public int compare(Object o1, Object o2) {

    if (o2 == null) {
        return -1;
    }
    if (o1 == null) {
        return 1;
    }

    int result;

    KeyedValue kv1 = (KeyedValue) o1;
    KeyedValue kv2 = (KeyedValue) o2;

    if (this.type == KeyedValueComparatorType.BY_KEY) {
        if (this.order.equals(SortOrder.ASCENDING)) {
            result = kv1.getKey().compareTo(kv2.getKey());
        } else if (this.order.equals(SortOrder.DESCENDING)) {
            result = kv2.getKey().compareTo(kv1.getKey());
        } else {
            throw new IllegalArgumentException("Unrecognised sort order.");
        }
    } else if (this.type == KeyedValueComparatorType.BY_VALUE) {
        Number n1 = kv1.getValue();
        Number n2 = kv2.getValue();
        if (n2 == null) {
            return -1;
        }
        if (n1 == null) {
            return 1;
        }
        double d1 = n1.doubleValue();
        double d2 = n2.doubleValue();
        if (this.order.equals(SortOrder.ASCENDING)) {
            if (d1 > d2) {
                result = 1;
            } else if (d1 < d2) {
                result = -1;
            } else {
                result = 0;
            }
        } else if (this.order.equals(SortOrder.DESCENDING)) {
            if (d1 > d2) {
                result = -1;
            } else if (d1 < d2) {
                result = 1;
            } else {
                result = 0;
            }
        } else {
            throw new IllegalArgumentException("Unrecognised sort order.");
        }
    } else {
        throw new IllegalArgumentException("Unrecognised type.");
    }

    return result;
}

From source file:com.googlecode.logVisualizer.chart.HorizontalIntervallBarChartBuilder.java

private JFreeChart createChart(final CategoryDataset dataset) {
    final JFreeChart chart = ChartFactory.createBarChart(getTitle(), xLable, yLable, dataset,
            PlotOrientation.HORIZONTAL, isIncludeLegend(), true, false);
    final CategoryPlot plot = (CategoryPlot) chart.getPlot();
    final CategoryAxis categoryAxis = plot.getDomainAxis();
    final LayeredBarRenderer renderer = new LayeredBarRenderer();

    plot.setBackgroundPaint(Color.white);
    plot.setDomainGridlinesVisible(false);
    plot.setRangeGridlinePaint(Color.black);
    setBarShadowVisible(chart, false);/* w w  w  .  j a va  2 s.co m*/

    plot.getRangeAxis().setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    plot.getRangeAxis().setLowerBound(-35);
    plot.getRangeAxis().setUpperBound(35);

    renderer.setDrawBarOutline(false);
    renderer.setSeriesPaint(0, Color.blue);
    renderer.setSeriesPaint(1, Color.green);
    renderer.setBaseItemLabelsVisible(true);
    renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
    renderer.setSeriesPositiveItemLabelPosition(0,
            new ItemLabelPosition(ItemLabelAnchor.OUTSIDE3, TextAnchor.CENTER));
    renderer.setSeriesPositiveItemLabelPosition(1,
            new ItemLabelPosition(ItemLabelAnchor.OUTSIDE2, TextAnchor.CENTER));
    renderer.setSeriesNegativeItemLabelPosition(0,
            new ItemLabelPosition(ItemLabelAnchor.OUTSIDE9, TextAnchor.CENTER));
    renderer.setSeriesNegativeItemLabelPosition(1,
            new ItemLabelPosition(ItemLabelAnchor.OUTSIDE10, TextAnchor.CENTER));
    renderer.setItemLabelAnchorOffset(9.0);
    renderer.setBaseToolTipGenerator(
            new StandardCategoryToolTipGenerator("{1}, {2}", NumberFormat.getInstance()));
    plot.setRenderer(renderer);
    plot.setRowRenderingOrder(SortOrder.DESCENDING);

    categoryAxis.setCategoryMargin(0.15);
    categoryAxis.setUpperMargin(0.0175);
    categoryAxis.setLowerMargin(0.0175);

    return chart;
}

From source file:it.eng.spagobi.engines.chart.bo.charttypes.others.CumulativeCurveChart.java

public void configureChart(SourceBean content) {
    super.configureChart(content);
    confParameters = new HashMap();
    SourceBean confSB = (SourceBean) content.getAttribute("CONF");

    if (confSB == null)
        return;//from   w  ww . j  a va2s.c  om
    List confAttrsList = confSB.getAttributeAsList("PARAMETER");

    Iterator confAttrsIter = confAttrsList.iterator();
    while (confAttrsIter.hasNext()) {
        SourceBean param = (SourceBean) confAttrsIter.next();
        String nameParam = (String) param.getAttribute("name");
        String valueParam = (String) param.getAttribute("value");
        confParameters.put(nameParam, valueParam);
    }
    if (confParameters.get("x_label") != null) {
        xLabel = (String) confParameters.get("x_label");
    } else {
        xLabel = "x";
    }

    if (confParameters.get("y_label") != null) {
        yLabel = (String) confParameters.get("y_label");
    } else {
        yLabel = "y";
    }

    if (confParameters.get("sort_order") != null) {
        String order = (String) confParameters.get("sort_order");
        if (order.equalsIgnoreCase("DESCENDING"))
            sortOrder = SortOrder.DESCENDING;
    }

}

From source file:fr.gouv.diplomatie.applitutoriel.utility.Graphique.java

/**
 * Creer camember3 d./*ww w  . java 2s  .c o m*/
 *
 * @param title
 *            the title
 * @param dataset
 *            the dataset
 * @param legend
 *            the legend
 * @param tooltips
 *            the tooltips
 * @param urls
 *            the urls
 * @return the j free chart
 * @throws FontFormatException
 *             the font format exception
 * @throws IOException
 *             Signals that an I/O exception has occurred.
 */
public static JFreeChart creerCamember3D(final String title, final DefaultPieDataset dataset,
        final boolean legend, final boolean tooltips, final boolean urls)
        throws FontFormatException, IOException {

    dataset.sortByValues(SortOrder.DESCENDING);
    final JFreeChart jfreeChart = ChartFactory.createPieChart3D(title, dataset, legend, tooltips, urls);

    jfreeChart.setBackgroundPaint(Color.white);
    jfreeChart.setBorderVisible(true);
    jfreeChart.getLegend().setPosition(RectangleEdge.LEFT);
    final GraphicsEnvironment graph = GraphicsEnvironment.getLocalGraphicsEnvironment();
    final InputStream inputStream = Thread.currentThread().getContextClassLoader()
            .getResourceAsStream("hornet/framework/font/LiberationSans-Bold.ttf");
    final Font font = Font.createFont(Font.TRUETYPE_FONT, inputStream);
    graph.registerFont(font);
    jfreeChart.getLegend().setItemFont(new Font("Liberation Sans", Font.BOLD, 11));
    jfreeChart.getLegend().setHeight(400);
    jfreeChart.getLegend().setBorder(0, 0, 0, 0);
    jfreeChart.setTitle(new TextTitle(title, new Font("Liberation Sans", Font.BOLD, 16)));
    final PiePlot piePlot = (PiePlot) jfreeChart.getPlot();

    final int nbData = dataset.getItemCount();
    int cptColor = 0;
    for (int x = 0; x < nbData; x++) {
        if (cptColor >= listColor.size()) {
            cptColor = 0;
        }
        piePlot.setSectionPaint(dataset.getKey(x), listColor.get(cptColor));

        cptColor++;

    }

    piePlot.setForegroundAlpha(0.5f);
    piePlot.setLabelFont(new Font("Liberation Sans", Font.BOLD, 12));
    piePlot.setLabelOutlineStroke(null);
    piePlot.setLabelLinkStroke(new BasicStroke(0.4f));
    piePlot.setLabelBackgroundPaint(Color.WHITE);
    piePlot.setLabelLinkStyle(PieLabelLinkStyle.STANDARD);
    piePlot.setBackgroundAlpha(0);
    piePlot.setOutlineVisible(false);
    piePlot.setForegroundAlpha(1); // transparence
    piePlot.setInteriorGap(0); // le camembert occupe plus de place
    piePlot.setLabelGenerator(new StandardPieSectionLabelGenerator("{1}"));
    piePlot.setStartAngle(70);
    piePlot.setCircular(true); // force pour avoir un cercle et pas un oval
    piePlot.setMaximumLabelWidth(0.20);
    piePlot.setBaseSectionOutlinePaint(Color.BLACK); // bordure du camembert

    return jfreeChart;

}