gpt4 book ai didi

JavaFX 缩放图表系列单位

转载 作者:行者123 更新时间:2023-12-01 15:12:28 24 4
gpt4 key购买 nike

您好,我有一个 JavaFX LineChart,我想使用不同的单位重新绘制该系列,我创建一个单独的列表,使用转换因子计算新值,删除所有值并添加新值。

这非常有效,只是现在第一个点连接到之前的最后一个点,该点已被删除。

有什么办法可以避免这种情况吗?

for(XYChart.Series<Number, Number> series : _chart.getData())
{
List<XYChart.Data<Number, Number>> data = series.getData();
List<XYChart.Data<Number, Number>> newData =
new ArrayList<XYChart.Data<Number, Number>>();
for(XYChart.Data<Number, Number> item : data)
{
newData.add(new XYChart.Data<Number, Number>(
item.getXValue(),
item.getYValue().floatValue() * conversionFactor));
}
series.getData().remove(0, series.getData().size() - 1);
for(XYChart.Data<Number, Number> item : newData)
{
series.getData().add(item);
}
}

最佳答案

首先通过series.getData().clear()清除数据。您还可以使用 ObservableList 来避免添加循环。

for (XYChart.Series<Number, Number> series : chart.getData()) {
List<XYChart.Data<Number, Number>> data = series.getData();
ObservableList<XYChart.Data<Number, Number>> newData =
FXCollections.<XYChart.Data<Number, Number>>observableArrayList();
for (XYChart.Data<Number, Number> item : data) {
newData.add(new XYChart.Data<Number, Number>(
item.getXValue(),
item.getYValue().floatValue() * 1.1));
}
series.getData().clear();
series.setData(newData);
}

关于JavaFX 缩放图表系列单位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12149165/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com