Example usage for org.jfree.chart.axis NumberTickUnit NumberTickUnit

List of usage examples for org.jfree.chart.axis NumberTickUnit NumberTickUnit

Introduction

In this page you can find the example usage for org.jfree.chart.axis NumberTickUnit NumberTickUnit.

Prototype

public NumberTickUnit(double size, NumberFormat formatter) 

Source Link

Document

Creates a new number tick unit.

Usage

From source file:MWC.GUI.JFreeChart.CourseFormatter.java

public final static TickUnits getDegreeTickUnits() {
    final TickUnits units = new TickUnits();
    final DecimalFormat fmt = new DecimalFormat("0");
    final DecimalFormat fmt2 = new DecimalFormat("0.0");
    final DecimalFormat fmt3 = new DecimalFormat("0.00");

    units.add(new NumberTickUnit(0.05d, fmt3));
    units.add(new NumberTickUnit(0.1d, fmt2));
    units.add(new NumberTickUnit(0.5d, fmt2));
    units.add(new NumberTickUnit(1d, fmt));
    units.add(new NumberTickUnit(2d, fmt));
    units.add(new NumberTickUnit(5d, fmt));
    units.add(new NumberTickUnit(10d, fmt));
    units.add(new NumberTickUnit(30d, fmt));
    units.add(new NumberTickUnit(45d, fmt));
    units.add(new NumberTickUnit(90d, fmt));
    units.add(new NumberTickUnit(180d, fmt));
    units.add(new NumberTickUnit(360d, fmt));
    return units;
}

From source file:org.kalypso.ogc.sensor.diagview.jfreechart.PolderControlAxis.java

/**
 * Returns a collection of tick units for boolean values (i.e. only 0 and 1).
 * /*from www  .  j a  v  a  2  s  .com*/
 * @return a collection of tick units for integer values.
 */
public static TickUnitSource createBooleanTickUnits() {
    final TickUnits units = new TickUnits();

    final NumberTickUnit unit = new NumberTickUnit(1, new DecimalFormat("0")) //$NON-NLS-1$
    {
        /**
         * @see org.jfree.chart.axis.NumberTickUnit#valueToString(double)
         */
        @Override
        public String valueToString(final double value) {
            if (value > 1.5)
                return ""; //$NON-NLS-1$

            if (value < 0.5)
                return "zu"; //$NON-NLS-1$

            return "auf"; //$NON-NLS-1$
        }
    };

    units.add(unit);

    return units;
}

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

private static JFreeChart createChart(CategoryDataset categorydataset) {
    JFreeChart jfreechart = ChartFactory.createWaterfallChart("Product Cost Breakdown", "Expense Category",
            "Cost Per Unit", categorydataset, PlotOrientation.VERTICAL, false, true, false);
    jfreechart.setBackgroundPaint(Color.white);
    CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot();
    categoryplot.setBackgroundPaint(Color.lightGray);
    categoryplot.setRangeGridlinePaint(Color.white);
    categoryplot.setRangeGridlinesVisible(true);
    categoryplot.setAxisOffset(new RectangleInsets(5D, 5D, 5D, 5D));
    ValueAxis valueaxis = categoryplot.getRangeAxis();
    DecimalFormat decimalformat = new DecimalFormat("##,###");
    decimalformat.setNegativePrefix("(");
    decimalformat.setNegativeSuffix(")");
    TickUnits tickunits = new TickUnits();
    tickunits.add(new NumberTickUnit(5D, decimalformat));
    tickunits.add(new NumberTickUnit(10D, decimalformat));
    tickunits.add(new NumberTickUnit(20D, decimalformat));
    tickunits.add(new NumberTickUnit(50D, decimalformat));
    tickunits.add(new NumberTickUnit(100D, decimalformat));
    tickunits.add(new NumberTickUnit(200D, decimalformat));
    tickunits.add(new NumberTickUnit(500D, decimalformat));
    tickunits.add(new NumberTickUnit(1000D, decimalformat));
    tickunits.add(new NumberTickUnit(2000D, decimalformat));
    tickunits.add(new NumberTickUnit(5000D, decimalformat));
    valueaxis.setStandardTickUnits(tickunits);
    BarRenderer barrenderer = (BarRenderer) categoryplot.getRenderer();
    barrenderer.setDrawBarOutline(false);
    barrenderer.setBase(5D);/*from  w w w  .ja v a  2  s. co m*/
    DecimalFormat decimalformat1 = new DecimalFormat("$##,###.00");
    decimalformat1.setNegativePrefix("(");
    decimalformat1.setNegativeSuffix(")");
    barrenderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator("{2}", decimalformat1));
    barrenderer.setBaseItemLabelsVisible(true);
    return jfreechart;
}

From source file:com.xpn.xwiki.plugin.charts.params.NumberTickUnitChartParam.java

@Override
public Object convert(String value) throws ParamException {
    Map map = parseMap(value);//from  w w w . j a  v  a 2 s . c om
    double size = getDoubleArg(map, "size");
    try {
        NumberFormat format = (NumberFormat) super.convert(value);
        return new NumberTickUnit(size, format);
    } catch (MissingArgumentException e) {
        return new NumberTickUnit(size);
    }
}

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

private static JFreeChart createChart() {
    XYDataset xydataset = createDirectionDataset(600);
    JFreeChart jfreechart = ChartFactory.createTimeSeriesChart("Time", "Date", "Direction", xydataset, true,
            true, false);/*from  w  w w  .jav  a  2 s .  c om*/
    XYPlot xyplot = (XYPlot) jfreechart.getPlot();
    xyplot.getDomainAxis().setLowerMargin(0.0D);
    xyplot.getDomainAxis().setUpperMargin(0.0D);
    NumberAxis numberaxis = (NumberAxis) xyplot.getRangeAxis();
    numberaxis.setAutoRangeIncludesZero(false);
    TickUnits tickunits = new TickUnits();
    tickunits.add(new NumberTickUnit(180D, new CompassFormat()));
    tickunits.add(new NumberTickUnit(90D, new CompassFormat()));
    tickunits.add(new NumberTickUnit(45D, new CompassFormat()));
    tickunits.add(new NumberTickUnit(22.5D, new CompassFormat()));
    numberaxis.setStandardTickUnits(tickunits);
    xyplot.setRangeAxis(numberaxis);
    XYAreaRenderer xyarearenderer = new XYAreaRenderer();
    NumberAxis numberaxis1 = new NumberAxis("Force");
    numberaxis1.setRange(0.0D, 12D);
    xyarearenderer.setSeriesPaint(0, new Color(0, 0, 255, 128));
    xyplot.setDataset(1, createForceDataset(600));
    xyplot.setRenderer(1, xyarearenderer);
    xyplot.setRangeAxis(1, numberaxis1);
    xyplot.mapDatasetToRangeAxis(1, 1);
    return jfreechart;
}

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

/**
 * Creates a new demo.// w ww .ja v  a  2 s  .  c  om
 */
public IntervalBarChartDemo1() {

    DefaultIntervalCategoryDataset data = null;
    final double[][] lows = { { -.0315, .0159, .0306, .0453, .0557 } };
    final double[][] highs = { { .1931, .1457, .1310, .1163, .1059 } };
    data = new DefaultIntervalCategoryDataset(lows, highs);
    data.setCategoryKeys(CATEGORIES);

    final String title = "Strategie Sicherheit";
    final String xTitle = "Zeitraum (in Jahren)";
    final String yTitle = "Performance";
    final CategoryAxis xAxis = new CategoryAxis(xTitle);
    xAxis.setLabelFont(titleFont);
    xAxis.setTickLabelFont(labelFont);
    xAxis.setTickMarksVisible(false);
    final NumberAxis yAxis = new NumberAxis(yTitle);
    yAxis.setLabelFont(titleFont);
    yAxis.setTickLabelFont(labelFont);
    yAxis.setRange(-0.2, 0.40);
    final DecimalFormat formatter = new DecimalFormat("0.##%");
    yAxis.setTickUnit(new NumberTickUnit(0.05, formatter));

    final IntervalBarRenderer renderer = new IntervalBarRenderer();
    renderer.setSeriesPaint(0, new Color(51, 102, 153));
    //        renderer.setLabelGenerator(new IntervalCategoryLabelGenerator());
    renderer.setItemLabelsVisible(true);
    renderer.setItemLabelPaint(Color.white);
    final ItemLabelPosition p = new ItemLabelPosition(ItemLabelAnchor.CENTER, TextAnchor.CENTER);
    renderer.setPositiveItemLabelPosition(p);

    final CategoryPlot plot = new CategoryPlot(data, xAxis, yAxis, renderer);
    plot.setBackgroundPaint(Color.lightGray);
    plot.setOutlinePaint(Color.white);
    plot.setOrientation(PlotOrientation.VERTICAL);

    this.chart = new JFreeChart(title, titleFont, plot, false);
    this.chart.setBackgroundPaint(Color.white);
}

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

/**
 * Returns the chart.//from  w  w  w . jav a 2 s . c om
 *
 * @param dataset  the dataset.
 * 
 * @return The chart.
 */
private JFreeChart createChart(final CategoryDataset dataset) {

    final CategoryAxis xAxis = new CategoryAxis("Category");
    final NumberAxis yAxis = new NumberAxis("$ in Thousands");
    yAxis.setLowerMargin(0.10);
    yAxis.setUpperMargin(0.10);

    // create a custom tick unit collection...
    final DecimalFormat formatter = new DecimalFormat("##,###");
    formatter.setNegativePrefix("(");
    formatter.setNegativeSuffix(")");
    final TickUnits standardUnits = new TickUnits();
    standardUnits.add(new NumberTickUnit(200, formatter));
    standardUnits.add(new NumberTickUnit(500, formatter));
    standardUnits.add(new NumberTickUnit(1000, formatter));
    standardUnits.add(new NumberTickUnit(2000, formatter));
    standardUnits.add(new NumberTickUnit(5000, formatter));

    yAxis.setStandardTickUnits(standardUnits);

    // ****************************************************************************
    // * JFREECHART DEVELOPER GUIDE                                               *
    // * The JFreeChart Developer Guide, written by David Gilbert, is available   *
    // * to purchase from Object Refinery Limited:                                *
    // *                                                                          *
    // * http://www.object-refinery.com/jfreechart/guide.html                     *
    // *                                                                          *
    // * Sales are used to provide funding for the JFreeChart project - please    * 
    // * support us so that we can continue developing free software.             *
    // ****************************************************************************

    final DecimalFormat labelFormatter = new DecimalFormat("##,###");
    labelFormatter.setNegativePrefix("(");
    labelFormatter.setNegativeSuffix(")");

    final WaterfallBarRenderer renderer = new WaterfallBarRenderer();
    //        renderer.setLabelGenerator(
    //          new StandardCategoryLabelGenerator("{2}", labelFormatter)
    //    );
    renderer.setItemLabelsVisible(Boolean.TRUE);

    final CategoryPlot plot = new CategoryPlot(dataset, xAxis, yAxis, renderer);
    plot.setBackgroundPaint(Color.lightGray);
    plot.setRangeGridlinePaint(Color.white);
    plot.setRangeGridlinesVisible(true);
    final ValueMarker baseline = new ValueMarker(0.0);
    baseline.setPaint(Color.blue);
    baseline.setStroke(new BasicStroke(1.1f));
    plot.addRangeMarker(baseline, Layer.FOREGROUND);

    final JFreeChart chart = new JFreeChart("OM WaterFall Chart", JFreeChart.DEFAULT_TITLE_FONT, plot, false);
    chart.setBackgroundPaint(Color.white);
    return chart;
}

From source file:com.bdb.weather.display.day.ItemRenderer.java

public WindDirPane() {
    setPrefSize(300, 300);//  w ww  . j a va2 s .  c  om
    JFreeChart chart = ChartFactory.createPolarChart(null, null, false, true, false);

    ChartFactory.getChartTheme().apply(chart);

    plot = (PolarPlot) chart.getPlot();

    ItemRenderer renderer = new ItemRenderer();
    XYToolTipGenerator ttg = (XYDataset dataset, int series, int item) -> {
        double time = dataset.getXValue(series, item);
        long millis = Math.round(time);
        return "" + millis;
    };
    renderer.setBaseToolTipGenerator(ttg);
    plot.setRenderer(renderer);

    ((NumberAxis) plot.getAxis()).setRange(-240.0, 60.0 * 24);
    ((NumberAxis) plot.getAxis()).setAutoRange(false);
    ((NumberAxis) plot.getAxis()).setTickUnit(new NumberTickUnit(240.0, new DecimalFormat("00")) {
        @Override
        public String valueToString(double number) {
            if (number < 0.0 || (int) number % 240 != 0)
                return "";
            else
                return super.valueToString(number / 60.0);
        }
    });

    ChartViewer chartViewer = new ChartViewer(chart);
    this.setTabContents(chartViewer, table);

    plot.setDataset(new XYSeriesCollection(windDirSeries));

    TableColumn<HistoricalRecord, String> column = new TableColumn<>("Time");
    column.setCellValueFactory((rec) -> new ReadOnlyStringWrapper(
            DisplayConstants.formatTime(rec.getValue().getTime().toLocalTime())));
    table.getColumns().add(column);

    column = new TableColumn<>("Direction");
    column.setCellValueFactory(
            (rec) -> new ReadOnlyStringWrapper(rec.getValue().getAvgWind().getDirection().getCompassLabel()));
    table.getColumns().add(column);
}

From source file:edu.ucla.stat.SOCR.chart.demo.WaterfallChartDemo1.java

/**
 * Returns the chart./*from  w  w  w  .  j a v a2  s. com*/
 * 
 * @param dataset  the dataset.
 *
 * @return The chart.
 */
protected JFreeChart createChart(CategoryDataset dataset) {

    JFreeChart chart = ChartFactory.createWaterfallChart(chartTitle, domainLabel, rangeLabel, dataset,
            PlotOrientation.VERTICAL, !legendPanelOn, true, false);
    chart.setBackgroundPaint(Color.white);

    CategoryPlot plot = chart.getCategoryPlot();
    plot.setBackgroundPaint(Color.lightGray);
    plot.setRangeGridlinePaint(Color.white);
    plot.setRangeGridlinesVisible(true);
    plot.setAxisOffset(new RectangleInsets(5.0, 5.0, 5.0, 5.0));

    ValueAxis rangeAxis = plot.getRangeAxis();

    // create a custom tick unit collection...
    DecimalFormat formatter = new DecimalFormat("##,###");
    formatter.setNegativePrefix("(");
    formatter.setNegativeSuffix(")");
    TickUnits standardUnits = new TickUnits();
    standardUnits.add(new NumberTickUnit(5, formatter));
    standardUnits.add(new NumberTickUnit(10, formatter));
    standardUnits.add(new NumberTickUnit(20, formatter));
    standardUnits.add(new NumberTickUnit(50, formatter));
    standardUnits.add(new NumberTickUnit(100, formatter));
    standardUnits.add(new NumberTickUnit(200, formatter));
    standardUnits.add(new NumberTickUnit(500, formatter));
    standardUnits.add(new NumberTickUnit(1000, formatter));
    standardUnits.add(new NumberTickUnit(2000, formatter));
    standardUnits.add(new NumberTickUnit(5000, formatter));
    rangeAxis.setStandardTickUnits(standardUnits);

    BarRenderer renderer = (BarRenderer) plot.getRenderer();
    renderer.setDrawBarOutline(false);
    renderer.setLegendItemLabelGenerator(new SOCRCategorySeriesLabelGenerator());

    DecimalFormat labelFormatter = new DecimalFormat("$##,###.00");
    labelFormatter.setNegativePrefix("(");
    labelFormatter.setNegativeSuffix(")");
    renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator("{2}", labelFormatter));
    renderer.setBaseItemLabelsVisible(true);

    setCategorySummary(dataset);
    return chart;
}

From source file:de.berlios.statcvs.xml.report.CommitActivityChart.java

public XYPlot createPlot(XYDataset dataset, String title) {
    NumberAxis valueAxis = new NumberAxis(title);
    valueAxis.setTickUnit(new NumberTickUnit(6.0, new DecimalFormat("0")));
    valueAxis.setAutoRangeIncludesZero(false);
    valueAxis.setLowerBound(0);//from www .j a v  a  2s  . c  o  m
    valueAxis.setUpperBound(24);
    valueAxis.setLabelFont(new Font("SansSerif", Font.PLAIN, 9));

    return new XYPlot(dataset, null, valueAxis, new PointXYRenderer());
}