JFreeChart 使用大数字作为值
JFreeChart using Large Numbers as Values
我目前正在使用 JFreeChart 开发一个项目。我一切正常,但当我开始使用大数字时,一切都变得很有趣。
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(1000, "Cars", "2015");
dataset.addValue(5000, "Bikes", "2015");
return dataset;
上面的输出非常完美,但是当我这样做时:
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(999999999, "Cars", "2015");
dataset.addValue(999999999, "Bikes", "2015");
return dataset;
999999999 转换为 1E7、2E7 等。
如何设置格式才能正确显示?
这是我的图表代码。
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);
任何帮助将不胜感激。
谢谢
您可以使用setNumberFormatOverride()
并传入合适的NumberFormat
。将鼠标悬停在任何栏上以在工具提示中查看确切的值。
NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
NumberFormat formatter = NumberFormat.getIntegerInstance();
rangeAxis.setNumberFormatOverride(formatter);
我目前正在使用 JFreeChart 开发一个项目。我一切正常,但当我开始使用大数字时,一切都变得很有趣。
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(1000, "Cars", "2015");
dataset.addValue(5000, "Bikes", "2015");
return dataset;
上面的输出非常完美,但是当我这样做时:
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(999999999, "Cars", "2015");
dataset.addValue(999999999, "Bikes", "2015");
return dataset;
999999999 转换为 1E7、2E7 等。 如何设置格式才能正确显示?
这是我的图表代码。
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);
任何帮助将不胜感激。 谢谢
您可以使用setNumberFormatOverride()
并传入合适的NumberFormat
。将鼠标悬停在任何栏上以在工具提示中查看确切的值。
NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
NumberFormat formatter = NumberFormat.getIntegerInstance();
rangeAxis.setNumberFormatOverride(formatter);