2

I want to bind three values to the dataset as Value(y axis value), Column Name (X axis value), Column ID (to get on mouse click) in order to make drill-down chart.

Here is my code to create Dataset:

DefaultCategoryDataset categoryDataset = new DefaultCategoryDataset();
categoryDataset.setValue(80, "", "Chap 1");
categoryDataset.setValue(52, "", "Chap 2");
categoryDataset.setValue(95, "", "Chap 3");
categoryDataset.setValue(25, "", "Chap 4");

And the chart :

JFreeChart chapterChart = createChart(chapterChartDataset, "Average Result");
ChartPanel chapterChartPanel = new ChartPanel(chapterChart);
chapterChartPanel.addChartMouseListener(new ChartMouseListener() {
   @Override
   public void chartMouseMoved(ChartMouseEvent arg0) {
   }
   @Override
   public void chartMouseClicked(ChartMouseEvent event){
      System.out.println(event.getSource().getClass());
      ChartEntity chartentity = event.getEntity();
      if (chartentity != null && chartentity.getToolTipText() != null && chartentity.getToolTipText().trim().length() > 0){
         System.out.println("Mouse clicked: " + chartentity.toString());
         String chapName = chartentity.getToolTipText().trim();
      }else{
         System.out.println("Mouse clicked: null entity.");
      }
   }
});

In this code I need chapter ID also to be stored and retrieved at mouse click.

alex2410
  • 10,904
  • 3
  • 25
  • 41
Dipali Vasani
  • 2,526
  • 2
  • 16
  • 30

0 Answers0