使用大量数字作为值的JFreeChart [英] JFreeChart using Large Numbers as Values

查看:48
本文介绍了使用大量数字作为值的JFreeChart的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前正在使用JFreeChart进行项目.除了开始大量使用时,我一切都正常了.

I am currently working on a project using JFreeChart. I got everything working except when I start using large numbers, it goes all funny.

    DefaultCategoryDataset dataset = new DefaultCategoryDataset(); 
    dataset.addValue(1000, "Cars", "2015");    
    dataset.addValue(5000, "Bikes", "2015");
    return dataset; 

上面的输出很完美,但是当我这样做时:

Output from above works perfect, but when I do this:

    DefaultCategoryDataset dataset = new DefaultCategoryDataset(); 
    dataset.addValue(999999999, "Cars", "2015");    
    dataset.addValue(999999999, "Bikes", "2015");
    return dataset; 

999999999被转换为1E7、2E7等. 如何格式化才能正确显示?

The 999999999 is converted to something like 1E7, 2E7, etc, etc. How do I format it to show correctly?

这是我的图表代码.

    JFreeChart chart = ChartFactory.createBarChart3D("My Title", "", "", catdata, PlotOrientation.VERTICAL, true, true, false);
    BufferedImage bufferedImage = chart.createBufferedImage(780, 170, BufferedImage.TYPE_INT_RGB, null);
    ImageIO.write(bufferedImage, "jpeg", out);

任何帮助将不胜感激. 谢谢

Any help will be much appreciated. Thanks

推荐答案

您可以使用

You can use setNumberFormatOverride() and pass in a suitable NumberFormat. Hover over any bar to see the exact value in a tool tip.

NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
NumberFormat formatter = NumberFormat.getIntegerInstance();
rangeAxis.setNumberFormatOverride(formatter);

这篇关于使用大量数字作为值的JFreeChart的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆