我有以下 JavaFX BarChart(NumberAxis 在底部,CategoryAxis 在左侧):
如何反转(即按值排序)类别的顺序,以便 J 显示在顶部,A 显示在底部?
最佳答案
你可以这样做:
XYChart.Series series1 = new XYChart.Series();
series1.getData().add(new XYChart.Data(1, "A"));
series1.getData().add(new XYChart.Data(1, "B"));
series1.getData().add(new XYChart.Data(1, "C"));
series1.getData().add(new XYChart.Data(1, "D"));
series1.getData().add(new XYChart.Data(1, "E"));
series1.getData().add(new XYChart.Data(2, "F"));
series1.getData().add(new XYChart.Data(2, "G"));
series1.getData().add(new XYChart.Data(4, "H"));
series1.getData().add(new XYChart.Data(4, "J"));
Collections.sort(series1.getData(), new Comparator<XYChart.Data>() {
@Override
public int compare(Data o1, Data o2) {
Number xValue1 = (Number) o1.getXValue();
Number xValue2 = (Number) o2.getXValue();
return new BigDecimal(xValue1.toString()).compareTo(new BigDecimal(xValue2.toString()));
}
});
关于JavaFX - 如何对条形图中的值进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29288669/