jfreeChart回归线实时日轴



我正试图在每隔半秒就会出现的一些数据上绘制一条回归线。我目前正在实时绘制数据,没有问题。线程正在读取数据,而主线程正在处理刷新图形。数据在y轴上是一个值,在x轴上是"Day"(jfreeChart对象"Day")。

我已经在线程侦听器中设置了它来计算系数,如果数据点的数量大于1,它还会在这种情况下将dataSet添加到mainPlot中。所以这是在线程侦听器中

if (++count > 1){
double[] coefficients = Regression.getOLSRegression(TimeSeriesCollection, 0);
mainPlot.setDataset(1, regressionData);
}

这是在线程侦听器之外,在图的设置旁边。数据,注意来自一个timeSeriesCollection。It确实有点像绘图,但将所有数据都固定在1970年,这意味着其余数据(发生在2012年)都集中在右边。

Function2D curve = new LineFunction2D(coefficients[0], coefficients[1]);
XYDataset regressionData = DatasetUtilities.sampleFunction2D(curve,
2.0, 11.0, 100, "Fitted Regression Line");
XYLineAndShapeRenderer renderer2 = new XYLineAndShapeRenderer(true, 
false);
renderer2.setSeriesPaint(0, Color.blue);
mainPlot.setRenderer(1, renderer2);

问题是如何让它理解TimeSeries x轴数据是"Day"对象,并将其绘制在图形上的正确位置。有人做到了吗?当我直接绘制数据时,即不尝试对其进行回归,只绘制了一个线形图,它绘制得很漂亮。

我使用时序图作为数据和回归线。所以这两个图表都是由ChartFactory.createTimeSeriesChart(...)创建的

相关内容

  • 没有找到相关文章

最新更新