隐藏JFree蜘蛛图表中的标签

时间:2014-11-04 12:45:26

标签: java swing charts web-crawler jfreechart

我试图使用JFree库隐藏蜘蛛图表上的所有标签。

我一直认为以下行会起作用,但是当我添加它时会出错。

webPlot.setLabelGenerator(null);

我的代码:

private static JFreeChart createSpiderChart(DefaultCategoryDataset dataset) {
    SpiderWebPlot webPlot = new SpiderWebPlot(dataset);

    Font labelFont = new Font("Arial", Font.BOLD, 10);

    CategoryToolTipGenerator tooltipGenerator = new StandardCategoryToolTipGenerator();

    tooltipGenerator.generateToolTip(dataset, 1, 0);       

    Color back_color = new Color(255,255,255,0);
    webPlot.setOutlineVisible(false);
    webPlot.setLabelFont(labelFont);       

    webPlot.setSeriesPaint(0, java.awt.Color.decode("#000000"));
    webPlot.setSeriesPaint(1, java.awt.Color.decode("#209ad4"));
    webPlot.setBackgroundPaint(back_color);

    webPlot.setLabelGenerator(null); /** THIS THROWS AN ERROR **/

    JFreeChart chart = new JFreeChart("", null /* JFreeChart.DEFAULT_TITLE_FONT */, webPlot, false);
    chart.setBorderVisible(false);

    ImageIcon icon = new ImageIcon("C:\\TestCharts\\report-assets\\chart-bg.gif");
    chart.setBackgroundImage(icon.getImage());

    return chart;       
}

我的错误:

java.lang.IllegalArgumentException: Null 'generator' argument.
    at org.jfree.chart.util.ParamChecks.nullNotPermitted(ParamChecks.java:65)
    at org.jfree.chart.plot.SpiderWebPlot.setLabelGenerator(SpiderWebPlot.java:993)
    at JavaAgent.createSpiderChart(Unknown Source)
    at JavaAgent.NotesMain(Unknown Source)
    at lotus.domino.AgentBase.runNotes(Unknown Source)
    at lotus.domino.NotesThread.run(Unknown Source)

任何想法并提前致谢。

2 个答案:

答案 0 :(得分:1)

setLabelGenerator() API非常明确:null not permitted。您可以尝试为columnKey中的CategoryDataset使用不同数量的空格。

答案 1 :(得分:1)

为我工作(JFreeChart 1.5.0):

webplot.setLabelGenerator(new StandardCategoryItemLabelGenerator() {
  @Override
  public String generateColumnLabel(CategoryDataset dataset, int column) {
    return "";
  }
});