选择条形图类别标签

时间:2012-05-03 17:08:33

标签: java jfreechart

我在带有多个类别标签的Swing GUI中使用JFreeChart条形图。对于每个标签,有几个子类别标签。有很多酒吧。因此每一个都很小,几乎看不见。我希望能够放大特定类别。

是否可以使类别标签可点击?例如,通过添加一个监听器? 然后我会点击一个类别标签并将显示的图表设置为仅显示该类别。

如果没有,那么使条形更明显的另一种解决方案是什么?

2 个答案:

答案 0 :(得分:2)

我使用的鼠标监听器的伪代码:

chartPanel.addChartMouseListener(new ChartMouseListener() {

  @Override
  public void chartMouseClicked(ChartMouseEvent e) {
    if (e.getEntity().getClass() != CategoryLabelEntity.class) {
      return;
    }

    CategoryLabelEntity entity = (CategoryLabelEntity) e.getEntity();
    String category = (String) entity.getKey();

    //Using another dataSet, create a zoomedInChart 
    //composed only of values from that dataset
    chartPanel.setChart(zoomedInChart);
  }

  @Override
  public void chartMouseMoved(ChartMouseEvent e) {
    // do nothing
  }

});

答案 1 :(得分:1)

最简单的方法是在ChartFactory.createBarChart()中启用工具提示。或者,使用显示hereChartMouseListener来执行其他操作。

编辑您的问题以包含sscce可能有助于建议使用哪种方法。