1

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

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

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

4

2 回答 2

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
  }

});
于 2012-05-04T15:31:20.263 回答
1

最简单的方法是在您的ChartFactory.createBarChart(). 或者,使用此处ChartMouseListener所示的 a来执行一些其他操作。

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

于 2012-05-03T23:21:11.233 回答