【问题标题】:Selecting a Bar Chart Category Label选择条形图类别标签
【发布时间】:2012-05-03 17:08:32
【问题描述】:

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

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

如果不是,还有什么办法可以让条形图更显眼?

【问题讨论】:

    标签: java jfreechart


    【解决方案1】:

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

    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
      }
    
    });
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-08-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多