更新 ScalaFX 折线图

问题描述

我正在使用 Scala 构建回归可视化工具,但在适当更新图表数据和理解逻辑方面遇到了一些困难。

我正在通过菜单成功加载文件中的数据。加载的数据应作为图表中的散点绘制。在后面的阶段,我将添加一个按钮“回归”,它根据数据绘制回归模型,可能取决于多项式的选择顺序。我计划将原始数据与透明线和绘制的一个颜色。

我可以正常显示加载的数据,但我设法通过删除旧系列并添加新数据集将我的图表更新为新数据集,但这会增加处理透明颜色等的复杂性。因此,我更愿意更新现有的数据,而不是创建新的数据系列。我相信 ObservableBuffer 经常用于此。

我已经开始进行如下实验,但我的图表没有更新:

// Before loading the data display an empty chart

var scatterData: List[(Double,Double)] = List()

var scatterXY =  scatterData.map(x => XYChart.Data[Number,Number](x._1,x._2))

var scatterSeries = XYChart.Series("Series",ObservableBuffer(scatterXY))

val lineChart = LineChart(xAxis,yAxis,ObservableBuffer(scatterSeries))
lineChart.setLegendVisible(false)


// Load data with FileChooser (I have Data.scala as a class to read the file)

// FileChoosing here etc.

val data = new Data(selectedFile.toString)

data.loadData(selectedFile)

// Update the scatterData and scatterSeries

scatterData = data.storedData

scatterSeries = XYChart.Series("Series",ObservableBuffer(scatterData.map(x => XYChart.Data[Number,x._2))))

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)