1

複数のカテゴリ ラベルを持つ Swing GUI で JFreeChart Bar Chart を使用しています。各ラベルには、いくつかのサブカテゴリ ラベルがあります。多くのバーがあります。したがって、それぞれが非常に小さく、ほとんど見えません。特定のカテゴリにズームインできるようにしたい。

カテゴリ ラベルをクリック可能にすることはできますか? たとえば、リスナーを追加することによって?次に、カテゴリ ラベルをクリックして、表示されたチャートにそのカテゴリのみを表示するように設定します。

そうでない場合、バーをより見やすくするための別の解決策は何ですか?

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に示すを使用して、他のアクションを実行します。

質問を編集してsscceを含めると、使用するアプローチを提案するのに役立つ場合があります。

于 2012-05-03T23:21:11.233 に答える