Example usage for org.jfree.chart.axis NumberAxis setTickUnit

List of usage examples for org.jfree.chart.axis NumberAxis setTickUnit

Introduction

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

Prototype

public void setTickUnit(NumberTickUnit unit) 

Source Link

Document

Sets the tick unit for the axis and sends an AxisChangeEvent to all registered listeners.

Usage

From source file:org.talend.dataprofiler.chart.util.TopChartFactory.java

/**
 * DOC Zqin Comment method "createBoxAndWhiskerChart".
 * /*ww w .  java  2 s  .co  m*/
 * @param title
 * @param dataset
 * @return
 */
public static JFreeChart createBoxAndWhiskerChart(String title, BoxAndWhiskerCategoryDataset dataset) {
    // ADD msjian TDQ-5112 2012-4-10: after upgrate to jfreechart-1.0.12.jar, change the default chart wallPaint
    ChartFactory.setChartTheme(StandardChartTheme.createLegacyTheme());
    // TDQ-5112~
    JFreeChart chart = ChartFactory.createBoxAndWhiskerChart(null, title,
            Messages.getString("TopChartFactory.Value"), dataset, false); //$NON-NLS-1$
    CategoryPlot plot = chart.getCategoryPlot();

    NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
    rangeAxis.setAutoRange(false);

    double min = dataset.getMinRegularValue("0", "").doubleValue(); //$NON-NLS-1$ //$NON-NLS-2$
    double max = dataset.getMaxRegularValue("0", "").doubleValue(); //$NON-NLS-1$ //$NON-NLS-2$

    double unit = (max - min) / 10;
    rangeAxis.setRange(min - unit, max + unit);
    rangeAxis.setTickUnit(new NumberTickUnit(unit));

    BoxAndWhiskerRenderer renderer = (BoxAndWhiskerRenderer) plot.getRenderer();
    renderer.setArtifactPaint(ChartDecorator.COLOR_LIST.get(1));

    return chart;
}

From source file:Modelos.Grafica.java

private void configurarRangeAxis(NumberAxis rangeAxis) {
    rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    rangeAxis.setTickUnit(new NumberTickUnit(5));
    rangeAxis.setRange(0, 100);/*from w w  w  . j  a  v a 2  s.co  m*/
}

From source file:Modelos.Grafica.java

private void configurarDomainAxis(NumberAxis domainAxis) {
    domainAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
    domainAxis.setTickUnit(new NumberTickUnit(5));
}

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);//w  w  w .j  ava  2s .c  om
    valueAxis.setUpperBound(24);
    valueAxis.setLabelFont(new Font("SansSerif", Font.PLAIN, 9));

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

From source file:com.bdb.weather.display.windrose.WindRosePlot.java

/**
 * Constructor.// w  w  w.j a v a 2s  .  c  om
 */
public WindRosePlot() {
    super();

    NumberAxis axis = new NumberAxis("%");
    axis.setTickUnit(new NumberTickUnit(10.0));
    setAxis(axis);

    renderer = new CompassPolarItemRenderer();
    renderer.setBasePaint(Color.black);
    renderer.setShapesVisible(false);
    renderer.setDrawOutlineWhenFilled(false);
    renderer.setFillComposite(AlphaComposite.Src);
    setRenderer(renderer);
    setAngleGridlinesVisible(true);
    setAngleGridlinePaint(Color.black);
    setRadiusGridlinesVisible(true);
    setRadiusGridlinePaint(Color.BLACK);
}

From source file:com.sixrr.metrics.ui.charts.HistogramDialog.java

private JFreeChart createChart(IntervalXYDataset dataset, boolean isIntegral) {
    final String title = getTitle();
    final NumberAxis xAxis = new NumberAxis();
    if (isIntegral) {
        xAxis.setTickUnit(new NumberTickUnit(1.0));
    }//from w  ww .j  a v a  2s .  com
    if (metricType == MetricType.Ratio || metricType == MetricType.RecursiveRatio) {
        xAxis.setNumberFormatOverride(new PercentFormatter());
    }

    final XYToolTipGenerator tooltipGenerator = new StandardXYToolTipGenerator();

    final XYItemRenderer renderer = new XYBarRenderer();
    renderer.setToolTipGenerator(tooltipGenerator);
    renderer.setURLGenerator(null);

    final ValueAxis yAxis = new NumberAxis();
    final XYPlot plot = new XYPlot(dataset, xAxis, yAxis, null);
    plot.setRenderer(renderer);
    plot.setOrientation(PlotOrientation.VERTICAL);

    return new JFreeChart(title, JFreeChartConstants.DEFAULT_TITLE_FONT, plot, true);
}

From source file:physical_network.OscilloscopePanel.java

public OscilloscopePanel() {

    super("Oscilloscope");

    // Set initial (time, voltage) datapoint of (0.0, 0.0).
    voltages.add(0.0, 0.0);// w w w.ja v a2 s .c  om

    XYSeriesCollection dataset = new XYSeriesCollection();
    dataset.addSeries(voltages);

    JFreeChart chart = ChartFactory.createXYLineChart("Oscilloscope", "Time (seconds)", "Voltage", dataset,
            PlotOrientation.VERTICAL, true, false, false);

    XYPlot plot = (XYPlot) chart.getPlot();

    XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer();
    renderer.setSeriesLinesVisible(0, true);

    NumberAxis domain = (NumberAxis) plot.getDomainAxis();
    domain.setRange(0.0, 10.0);
    domain.setTickUnit(new NumberTickUnit(1.0));
    domain.setVerticalTickLabels(true);

    NumberAxis range = (NumberAxis) plot.getRangeAxis();
    range.setRange(-5.0, 5.0);
    range.setTickUnit(new NumberTickUnit(1.0));

    plot.setRenderer(renderer);

    ChartPanel chartPanel = new ChartPanel(chart);
    chartPanel.setPreferredSize(new java.awt.Dimension(500, 300));

    setContentPane(chartPanel);
}

From source file:net.sf.jasperreports.customizers.axis.AbstractAxisCustomizer.java

protected void configNumberAxis(NumberAxis numberAxis, String tickUnitProp) {
    if (numberAxis != null) {
        Double tickUnit = getDoubleProperty(tickUnitProp);
        if (tickUnit != null) {
            numberAxis.setTickUnit(new NumberTickUnit(tickUnit));
        }/* www.  j a  va 2s.  com*/
    }
}

From source file:mrmc.chart.StudyDesignPlot.java

/**
 * Constructs the chart/*from   www.  ja va  2s.  c o  m*/
 * 
 * @param dataset Representation of x-y data
 * @param title Title of chart
 * @param xaxis Label for x-axis
 * @param yaxis Label for y-axis
 * @return The chart
 */
private JFreeChart createChart(final DefaultXYDataset dataset, String title, String xaxis, String yaxis) {
    final JFreeChart chart = ChartFactory.createScatterPlot(title, xaxis, yaxis, dataset,
            PlotOrientation.VERTICAL, true, true, false);
    XYPlot xyplot = (XYPlot) chart.getPlot();
    NumberAxis rangeAxis = (NumberAxis) xyplot.getRangeAxis();
    ;

    rangeAxis.setLowerBound(-.5);

    rangeAxis.setTickUnit(new NumberTickUnit(1));
    XYItemRenderer renderer = xyplot.getRenderer();
    Rectangle square = new Rectangle(5, 5);
    renderer.setSeriesShape(0, square);
    renderer.setSeriesShape(1, square);
    renderer.setSeriesPaint(0, Color.white);
    renderer.setSeriesPaint(1, Color.black);
    return chart;

}

From source file:no.met.jtimeseries.marinogram.MarinogramPressurePlot.java

private XYPlot createPlot(TimeZone timezone, boolean plotPressure) {
    ChartPlotter plotter = null;/*from w  ww  .j  a v  a 2  s  . c  o  m*/
    if (plotPressure) {
        plotter = new ChartPlotter();
        // default setting
        plotter.setHeight(this.getHeight());
        plotter.setWidth(this.getWidth());
        plotter.setPlotDefaultProperties("", "");
        NumberPhenomenon pressure = getLocationForecastDataModel()
                .getPhenomenen(PhenomenonName.Pressure.toString(), NumberPhenomenon.class);
        List<Date> shortTermTime = pressure.getTime();
        Color pressureColor = new Color(11, 164, 42);

        PlotStyle.Builder pressureStyleBuilder = new PlotStyle.Builder(
                messages.getString("parameter.pressure") + " (hPa)");
        PlotStyle plotStyle = pressureStyleBuilder.spline(SplineStyle.HYBRID).ticks(4).difference(50.0d)
                .seriesColor(pressureColor).labelColor(pressureColor).build();
        plotter.addLineChart(TimeBase.SECOND, pressure, plotStyle);
        //plotter.formalizeRangeAxisWithMargins(plotter.getRangeAxisIndex() - 1, 950, 1050);

        double tick = (pressure.getMaxValue() - pressure.getMinValue()) / 2;
        tick = Math.ceil(tick / 10) * 10;
        double lowBound = Math.floor(pressure.getMinValue() / (tick)) * (tick);
        lowBound = lowBound - tick / 2;
        double upperBound = lowBound + tick * 4;

        //replicate the range axis 
        NumberAxis referenceAxis = (NumberAxis) plotter.getPlot().getRangeAxis();
        referenceAxis.setTickUnit(new NumberTickUnit(tick));
        referenceAxis.setLowerBound(lowBound);
        referenceAxis.setUpperBound(upperBound);
        NumberAxis numberAxis = new NumberAxis();
        numberAxis.setLabelPaint(pressureColor);
        numberAxis.setTickLabelPaint(referenceAxis.getTickLabelPaint());
        //numberAxis.setLowerMargin(ChartPlotter.LOWER_PLOT_MARGIN);
        numberAxis.setRange(referenceAxis.getLowerBound(), referenceAxis.getUpperBound());
        numberAxis.setTickUnit(referenceAxis.getTickUnit());
        //numberAxis.setRangeWithMargins(950, 1050);
        plotter.getPlot().setRangeAxis(1, numberAxis);

        //first set domain date format and then add hour based domain grid lines
        //TODO: wrap this inside the addHourBasedDomainGridLines for simplicity
        Date minDate = shortTermTime.get(0);
        Date maxDate = shortTermTime.get(shortTermTime.size() >= 48 ? 48 : shortTermTime.size() - 1);
        plotter.setDomainRange(minDate, maxDate);
        plotter.setDomainDateFormat(timezone, "HH");
        plotter.getPlot().setOutlineVisible(true);
        //set domain range after (must) plot all the data
        plotter.addHourBasedDomainGridLines();
        //invisible domain axis
        plotter.getPlot().getDomainAxis().setTickLabelsVisible(false);
        // add markers
        plotter.addDomainMarkers(shortTermTime, timezone, locale);

    }

    return plotter.getPlot();

}