JavaFX - 如何对条形图中的值进行排序

标签 java javafx javafx-2 bar-chart

我有以下 JavaFX BarChart(NumberAxis 在底部,CategoryAxis 在左侧):

/image/jpiu1.png

如何反转(即按值排序)类别的顺序,以便 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/

相关文章:

java - 找不到 IBM Filenet P8 更改预处理器 Java 实现

JavaFX 8 - 同步两个垂直堆叠的 TableView 上的列

java - 在 WebView 中从本地客户端浏览 HTML 文件

java - 如何在不使用 org.jboss.weld.environment.se.StartMain#main 的情况下在 Java SE 中正确初始化 JBoss Weld?

java - 尝试 parseDouble 时发现异常

java - AWT 队列线程中的调试异常

java - 如何按字符串格式的升序和降序对日期的数组列表进行排序

javafx - 获取切换单选按钮用户值(value)

javafx - javafx 2.1 中 javafx 1.3 的 javafx.lang 包的替代品是什么?

css - 在 JavaFX CSS 文件中声明变量