你用的jfreechart是什么版本?我用的是1.0.13版本,可以正常生成0那个数据标签。
代码如下: DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.setValue(1200, "Item1", "");
dataset.setValue(0, "Item2", "");
dataset.setValue(3, "Item3", "");
dataset.setValue(1, "Item4", "");
JFreeChart jfreechart = ChartFactory.createBarChart("Category", null,
null, dataset, PlotOrientation.VERTICAL, true, true, false);
CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot();
categoryplot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_LEFT);
BarRenderer barrenderer = (BarRenderer) categoryplot.getRenderer();
barrenderer.setBaseItemLabelsVisible(true);
barrenderer
.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator(
"{2}", new DecimalFormat("#,###.#")));
barrenderer
.setGradientPaintTransformer(new StandardGradientPaintTransformer(
GradientPaintTransformType.HORIZONTAL));
barrenderer.setDrawBarOutline(false);
barrenderer
.setLegendItemToolTipGenerator(new StandardCategorySeriesLabelGenerator(
"Tooltip: {0}")); FileOutputStream fosJpg = new FileOutputStream("D:/temp/BarChart1.jpg");
ChartUtilities.writeChartAsJPEG(fosJpg, 1, jfreechart, 640, 480, null);