我经常在StackedAreaChart中遇到一个非常棘手的错误。而不是
我得到了
当数据点每显示像素密度高(尽管不是非常),非线性和/或连续数据序列时,这个bug似乎经常出现问题。 x组件未对齐。例如,上面的两个图像是同一个窗口,只需调整大小。
以下是在Windows 7 32位和64位平台上重现该错误的代码:
public class ChartTest extends Application {
@Override
public void start(Stage primaryStage) {
NumberAxis xAxis = new NumberAxis(0, 100, 10);
NumberAxis yAxis = new NumberAxis(0, 100, 10);
StackedAreaChart<Number,Number> chart;
chart = new StackedAreaChart(xAxis,yAxis);
chart.setLegendVisible(false);
chart.setCreateSymbols(false);
chart.getData().add(genSeries(0));
chart.getData().add(genSeries(1));
StackPane root = new StackPane();
root.getChildren().add(chart);
Scene scene = new Scene(root, 300, 250);
primaryStage.setScene(scene);
primaryStage.show();
}
private Series<Number,Number> genSeries(int a){
Series<Number,Number> s = new Series<>();
ObservableList<XYChart.Data<Number, Number>> d = s.getData();
for(int i=0; i<50; i++){
double x = Math.sqrt(2*i+a);
d.add(new XYChart.Data<>(x, i));
}
return s;
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
}
有没有人知道这个bug,如何解决它,或者它出现在什么条件下?
它真的很麻烦: