【发布时间】:2014-03-14 08:32:20
【问题描述】:
我正在尝试从现有应用程序生成饼图,但出现错误。 最新的错误是:
efa.util.chart.ChartUtil 中的createPieChart(java.lang.String,org.jfree.data.general.PieDataset,org.jfree.chart.labels.PieSectionLabelGenerator) 不能应用于(java.lang.String, org.jfree.data.general.PieDataset) [javac] 扇区图表 = ChartUtil.createPieChart("",xy); [javac] ^
除此之外,我还需要在函数调用中添加第三个参数,即 PieSectionLabelGenerator labelGenerator。但是,我不知道该怎么做。已阅读 docs/api 但仍不确定。你有什么建议?
我使用的代码是
imports (please see below)
declaration in the code is JFreeChart sectorChart;
the function:
private void genChart(){
DefaultPieDataset pieDataset = new DefaultPieDataset();
pieDataset.setValue("JavaWorld", new Integer(75));
pieDataset.setValue("Other", new Integer(25));
PieDataset xy = pieDataset;
sectorChart = ChartUtil.createPieChart("",xy,);
}
我认为我的导入没有任何问题,对象的声明也没有。如果你想看这些,请告诉我,为了这篇文章的简洁,我把它们排除在外。
我无法让下面的答案专门适用于我的应用。但是我的 ChartUtil.java 文件中有这段代码
public static JFreeChart createPieChart(final String title,
final PieDataset dataset, PieSectionLabelGenerator labelGenerator) {
final JFreeChart chart = ChartFactory.createPieChart(title, dataset,
false, true, true);
labelGenerator = labelGenerator != null ? labelGenerator
: new StandardPieSectionLabelGenerator("{2} {0}",
NumberFormat.getNumberInstance(),
NumberFormat.getPercentInstance());
PiePlot plot = (PiePlot) chart.getPlot();
ChartUtil.formatPiePlot(plot);
plot.setLabelGenerator(labelGenerator);
PieRenderer renderer = new PieRenderer();
renderer.setColor((PiePlot) chart.getPlot(), dataset);
return chart;
}
我认为我们需要弄清楚如何将 PieSectionLabelGenerator 作为参数传递给函数...
【问题讨论】:
标签: java charts jfreechart pie-chart