Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Jfreechart selection

Is there a way to be able to click on a segment on a plot and have jfreechart tell me the x/y coordinates of that point or somehow return the corresponding data associated with that line?

Does jfreechart have any packages at all for interacting with the plot?

like image 538
z - Avatar asked Jan 21 '09 13:01

z -


2 Answers

Implementing the ChartMouseListener interface will provide you ChartMouseEvents when the user clicks on the chart. A ChartEntity is available from the ChartMouseEvent to give you specific information about what was clicked on.

I believe there's a demo showing how to capture chart mouse events in the JFreeChart Developer's Guide.

like image 103
Brendan Cashman Avatar answered Oct 20 '22 03:10

Brendan Cashman


See this method in JFreeChart class:

public BufferedImage createBufferedImage(int width, int height,
                                             ChartRenderingInfo info)

You pass an instance of ChartRenderingInfo which you can use later to obtain the information about various parts using a code like this:

ChartEntity entity = info.getEntityCollection().getEntity(x, y);

See the javadoc for ChartRenderingInfo for other information that's available there.

like image 36
Peter Severin Avatar answered Oct 20 '22 02:10

Peter Severin