Tuesday, May 14, 2013

Jfreechart - Tips

Set a FormatOverride on the axis for NumberAxis and a DateAxis

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

NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
rangeAxis.setNumberFormatOverride( new NumberFormat(){

    @Override
    public StringBuffer format(double number, StringBuffer toAppendTo, FieldPosition pos) {
        return new StringBuffer(String.format("%f", number));
    }

    @Override
    public StringBuffer format(long number, StringBuffer toAppendTo, FieldPosition pos) {
        return new StringBuffer(String.format("%f", number));
    }

    @Override
    public Number parse(String source, ParsePosition parsePosition) {
        return null;
    }

} );
DateAxis domainAaxis = (DateAxis) plot.getDomainAxis();
domainAaxis.setDateFormatOverride(new SimpleDateFormat("MMM-yyyy"));
 

Range Axis Number Format from 100000 to 100k

rangeAxis.setNumberFormatOverride(new DecimalFormat("### K")); 
 
 
  

Reference:

http://stackoverflow.com/questions/11563087/jfreechart-how-to-display-hours-format-on-the-y-axis/11564855#11564855 

Related Posts:

  • Jfreechart - Change Shape PointDiamon/Cross/Triangle Shape renderer.setSeriesShape(seriesIndex,ShapeUtilities.createDiamond(5)); renderer.setSeriesShape(seriesIndex,ShapeUtilities.createDiagonalCross(5,5)); .... Circle Shape circle  = new Ellipse2D.… Read More
  • Jfreechart - Tips Set a FormatOverride on the axis for NumberAxis and a DateAxis   XYPlot plot = (XYPlot) chart.getPlot(); NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); rangeAxis.setNumberFormatOverride( new NumberFormat(){ … Read More
  • Jfreechart - Change line styeThis would make your second series show as a dashed line: plot.getRenderer().setSeriesStroke( 1, new BasicStroke( 2.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND, 1.0f, new float[] {6.0f, 6.0f}, 0… Read More
  • Jfreechart - XYSplineRenderer        XYSeriesCollection  dataset = new XYSeriesCollection();         JFreeChart chart = ChartFactory.createXYLineChart(         &nbs… Read More

0 comments:

Post a Comment