gpt4 book ai didi

JavaFX LineChart - 从图表中清除数据

转载 作者:行者123 更新时间:2023-12-01 14:08:04 33 4
gpt4 key购买 nike

我在从折线图中删除数据时遇到问题。我写了一个绘制图表的程序,点击按钮后的 Action 完成图表数据。

dataSeries1.getData().removeAll(); <- 不起作用。

代码:

 NumberAxis xAxis = new NumberAxis();
xAxis.setLabel("Oś Y");
NumberAxis yAxis = new NumberAxis();
yAxis.setLabel("Oś X");
final LineChart lineChart = new LineChart(xAxis, yAxis);
final XYChart.Series dataSeries1 = new XYChart.Series();

lineChart.setCreateSymbols(false);
lineChart.getData().add(dataSeries1);

按钮 Action :

 btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {

int lewy = Integer.parseInt(kresLewy.getText());
int prawy = Integer.parseInt(kresPrawy.getText());
String rownanie = field.getText();

try {

String tekst = lewy + "; " + prawy + "; " + rownanie;

StringReader tekstReader = new StringReader(tekst);

parsery.interpreter.parser parser_obj
= new parsery.interpreter.parser(new parsery.interpreter.MyLexer(tekstReader));

Object result = parser_obj.parse().value;

String sWynik = result.toString();

ZmiennaX zX = new ZmiennaX();
ArrayList<Double> xArr = new ArrayList<Double>();
for (double i = lewy; i <= prawy + 0.001; i = i + zX.getDokladnosc()) // +0.001 dla bledow zaokraglenia
{
xArr.add(zX.round2(i));
}
String sX = xArr.toString();
String wartosciX = sX.substring(1, sX.length() - 1);
String wartosciY = sWynik.substring(1, sWynik.length() - 1);

String XbezSpacji = wartosciX.replace(" ", "");
String YbezSpacji = wartosciY.replace(" ", "");

String[] splitX = XbezSpacji.split(",");
String[] splitY = YbezSpacji.split(",");
dataSeries1.getData().removeAll();

for(int i=0; i<splitX.length; i++){
double x = Double.parseDouble(splitX[i]);
double y = Double.parseDouble(splitY[i]);
dataSeries1.getData().add(new XYChart.Data(x, y));
}

} catch (Exception e) {
System.out.println("Podczs obliczenia wystapil blad. (" + e.getMessage() + ")");
} catch (Error error) {
System.out.println("Podczs obliczenia wystapil blad. (" + error.getMessage() + ")");
}
}
});

谁能帮我在绘制新图表后删除数据?

最佳答案

removeAll 要求在其参数中传递要删除的元素。由于您没有提供任何内容 - 没有任何内容被删除:

dataSeries1.getData().removeAll();

您想在上面的行中使用 clear()

public void clear()

Removes all of the elements from this list (optional operation). The list will be empty after this call returns.

关于JavaFX LineChart - 从图表中清除数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41956339/

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