Java 在实时图形jfreechart中绘制固定线
到目前为止,我使用TimeSeriesChart和DynamicMiseriesCollection创建了如下图表: 但要求是让用户点击图形并定义“高”和“低”边界,如下图所示: 当我们在图形上单击鼠标时,我有一段代码来获取值:Java 在实时图形jfreechart中绘制固定线,java,jfreechart,timeserieschart,Java,Jfreechart,Timeserieschart,到目前为止,我使用TimeSeriesChart和DynamicMiseriesCollection创建了如下图表: 但要求是让用户点击图形并定义“高”和“低”边界,如下图所示: 当我们在图形上单击鼠标时,我有一段代码来获取值: public void chartMouseClicked(ChartMouseEvent cme) { Point2D p = chart.translateScreenToJava2D(cme.getTrigger().getPoint(
public void chartMouseClicked(ChartMouseEvent cme) {
Point2D p = chart.translateScreenToJava2D(cme.getTrigger().getPoint());
Rectangle2D greyChartArea = chart.getChartRenderingInfo().getPlotInfo().getDataArea();
double valueY = ((NumberAxis) plot.getRangeAxis()).java2DToValue(p.getY(), greyChartArea, plot.getRangeAxisEdge());
double valueX = ((NumberAxis) plot.getDomainAxis()).java2DToValue(p.getX(), greyChartArea, plot.getDomainAxisEdge());
System.out.println(valueY);
}
问题是,当鼠标被点击时,如何绘制一条固定的线,该线具有动态x轴的实时图形?(线上的点击点应可移动并可删除)
任何指点都将不胜感激
//已更新:
到目前为止,我可以用鼠标定义我的“高”和“低”区域,但问题是当数据进入时:
public void draw(Data data) {
dataset.advanceTime();
float[] info = new float[1];
info[0] = data.getInfo();
dataset.appendData(info);
}
“高”和“低”系列将消失或被推开。有什么方法可以使“高”和“低”固定线路 您可能能够调整所示的方法。但是如何在timeserieschart中绘制XYseriescollection@垃圾神和x轴一样是一个日期轴,但是上面代码中的valueX只是一个点击点(坐标)的值,我想画一个点(valueX,valueY)。例如,
DateAxis
显示自Java纪元以来的XYSeries
坐标,以秒为单位。@trashgod刚刚更新。有什么解决方案吗?与这些相比,我看不出您添加的代码有任何错误。请记住,dynamicMiseriesCollection
会丢弃旧数据。