在JFreeChart蜘蛛图中显示值

时间:2015-01-09 13:17:00

标签: java charts jfreechart

JFreeChart的蜘蛛网图未显示接近标记点的值,默认为:

SpiderWebPlot example

显示数字必须做些什么?

这就是我现在所拥有的,返回StreamedContent的方法(对于PrimeFaces'p:graphicImage

CategoryDataset categorydataset = createCategoryDataset(displayBy, configuration, null);
SpiderWebPlot plot = new SpiderWebPlot(categorydataset);
plot.setInteriorGap(0.40);
plot.setNoDataMessage("No data available");
plot.setStartAngle(0);
plot.setLabelGenerator(new StandardCategoryItemLabelGenerator("{2}", NumberFormat.getInstance()));
plot.setWebFilled(true);

JFreeChart chart = new JFreeChart(title, TextTitle.DEFAULT_FONT, plot, true);

File chartFile = new File(String.valueOf(new Random().nextLong()));
ChartUtilities.saveChartAsPNG(chartFile, chart, 375, 300);
return new DefaultStreamedContent(new FileInputStream(chartFile), "image/png");

编辑:在@ trashgod的建议之后,出现了一些值,但没有出现在预期的位置。我想要columnKey值,而不是'rowKey'值(addValue method in DefaultCategoryDataset class):

dataset.getColumnKey(col) + " TESTE " + dataset.getValue(0, col)

1 个答案:

答案 0 :(得分:2)

显示数字必须做些什么?

您可以使用CategoryItemLabelGenerator在地块上标记点,如图here所示。

重要的是其他三个[要点]。

看起来您可以添加第二个系列,其中一个系列有第二个rowKey,以获得与这些点相关联的标签。