Как настроить crosshairOverlay с chartMouseListener для автоматической фокусировки на значениях из диаграммы / набора данных - PullRequest
0 голосов
/ 27 мая 2020

Есть ли какие-нибудь функции, которые могут сделать автофокусировку перекрестия до ближайших значений на TimeSeries? У меня есть код, который следует за мышью при перемещении по графику:

'''
    @Override
public void chartMouseMoved(ChartMouseEvent event) {
    Rectangle2D dataArea = this.chartPanel.getScreenDataArea();
    chart = event.getChart();
    XYPlot plot = (XYPlot) chart.getPlot();
    ValueAxis xAxis = plot.getDomainAxis();
    double x = xAxis.java2DToValue(event.getTrigger().getX(), dataArea,
            RectangleEdge.BOTTOM);
         if (!xAxis.getRange().contains(x)) { 
            x = Double.NaN;  }

    double y = DatasetUtilities.findYValue(plot.getDataset(), 0, x);
 this.xCrosshair.setValue(x);
  this.yCrosshair.setValue(y); 

'' 'Я хотел бы настроить его так, чтобы он фокусировался на моих текущих точках на графике. Не на линии между точками. Поскольку я использую TimeSeries, которые показывают время как мм: сс, текущее значение времени для 5 секунд выглядит как 5000. Например, у меня есть значение в точке 3303, если я наведу курсор мыши рядом с этим значением, я хочу " стремиться "к моей реальной точке, чтобы поставить там Маркер.

...