hi, is it possible to know what point the user has selected with mouse in a XYLineChart? How?
I need to know the X and Y values for the selected point.
point selected
-
- Posts: 14
- Joined: Tue May 06, 2008 5:57 am
if u want show selected x and y values u can show by using tooltip feature...
if u want to know selected values u will get by using URL generator, it will pass selected values as parameters in query string..
while saving you need to passing ChartRenderingInfo Obj..
---sreehari
Code: Select all
renderer.setToolTipGenerator(new StandardCategoryToolTipGenerator());
Code: Select all
renderer.setItemURLGenerator(new StandardCategoryURLGenerator("AudienceTimelineChart.jsp"));
Code: Select all
final ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
final File file1 = new File("C:/reports/AudienceTimelineChart.png");
ChartUtilities.saveChartAsPNG(file1, chart, 600, 400, info);
thanks for reply.
I use JFreeChart 1.0.9 and I've added the line: to show the point value selected for series 0, where XYTooltipListener is the class:
Now I solve my problem adding this class as listener for chart
I use JFreeChart 1.0.9 and I've added the line:
Code: Select all
renderer.setSeriesToolTipGenerator(0, new XYTooltipListener());
Code: Select all
class XYTooltipListener implements XYToolTipGenerator,ChartProgressListener {
@Override
public String generateToolTip(XYDataset dataset, int series, int item) {
String s="<html>"+dataset.getSeriesKey(series).toString()+":<br>ID = "+item + " (";
s+="X: "+dataset.getXValue(series, item);
s+=" ; Y: "+dataset.getYValue(series, item)+")</html>";
return s;
}
@Override
public void chartProgress(ChartProgressEvent event) {
if (event.getType() != ChartProgressEvent.DRAWING_FINISHED) {
return;
}
if (plot!=null){
XYDataset dataset = plot.getDataset();
double xx = plot.getDomainCrosshairValue(); //X
// .............................
}
}
}
Simone