Step 1. I can determine when I click on the datapoint
Code: Select all
class DiagnosticsMouseListener implements ChartMouseListener
{
public void chartMouseClicked(ChartMouseEvent event)
{
ChartEntity entity = event.getEntity();
if (entity == null)
return;
if (! (entity instanceof XYItemEntity) )
return;
// Get entity details
IntervalXYDataset dataset = (IntervalXYDataset)(((XYItemEntity)entity).getDataset());
int seriesIndex = ((XYItemEntity)entity).getSeriesIndex();
int item = ((XYItemEntity)entity).getItem();
XYIntervalSeries series = ((XYIntervalSeriesCollection)dataset).getSeries(seriesIndex);
XYIntervalDataItem xyItem = (XYIntervalDataItem)(series.getDataItem(item));
// I can get two different coordinate sets-
System.out.println( "X: " + xyItem.getX() );
System.out.println( "Y: " + xyItem.().getYValue() );
System.out.println( "X: " + event.getTrigger().getX() );
System.out.println( "Y: " + event.getTrigger().getY() );
}
Code: Select all
// None of this works
XYShapeAnnotation anno = new XYShapeAnnotation(
new Rectangle2D.Float(
(float)event.getTrigger().getX(),
(float)event.getTrigger().getY(),
10.0f, 10.0f ) );
myplot.addAnnotation(anno);
double myx = xyItem.getX();
XYShapeAnnotation anna = new XYShapeAnnotation(
new Rectangle2D.Float(
(float)myx,
(float)xyItem.getYValue(),
10.0f, 10.0f ) );
myplot.addAnnotation(anna);
Could someone do me a favor and explain to me how one could actually put an outline box around a data point?