繁体   English   中英

如何将javafx Barchart刻度线设置在条形的中间?

[英]How to set the javafx Barchart ticks to middle of the bar?

如何将javafx Barchart刻度线设置在条形的中间?

我在刻度线和生成的柱线之间出现了一些差距。

public static class ContinentBarChart extends Application {

    @Override
    public void start(Stage stage) {
        stage.setTitle("Numebr of reqests based on continent");
        final CategoryAxis xAxis = new CategoryAxis();
        //xAxis.setStyle("-fx-font-size: " + 20 + "px;");
        xAxis.tickLabelFontProperty().set(Font.font(null,FontWeight.BOLD, 15));
        xAxis.setTickLabelRotation(90);

        final NumberAxis yAxis = new NumberAxis();
        final BarChart<String, Number> chart = new BarChart<String, Number>(xAxis, yAxis);
        //bc.autosize();
        // bc.setBarGap(-50);
        chart.setTitle("Number of reqests based on continent");
        xAxis.setLabel("Country");
        yAxis.setLabel("Number of requests");

        HashMap<String, HashMap<String, Integer>> continentCountryMap = GenericUtil
                .extractContinentCountryMapFromLogs();

        for (String continent : continentCountryMap.keySet()) {
            HashMap<String, Integer> exisitingCountry = continentCountryMap.get(continent);
            exisitingCountry = (HashMap<String, Integer>) GenericUtil.sortByValue(exisitingCountry);

            XYChart.Series series = new XYChart.Series();
            series.setName(continent);

            Set<String> countryList = exisitingCountry.keySet();
            int i = 0;
            for (String countryName : countryList) {
                if (i < 10) {
                    series.getData().add(new XYChart.Data(countryName, exisitingCountry.get(countryName)));
                    i++;
                } else {
                    break;
                }
            }
            chart.getData().add(series);

        }

        Scene scene = new Scene(chart);
        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

如何使图表正常? 我添加了解释我的要求的图像。

条形图图像

我找到了解决方法。 但是我敢肯定这不是确切的解决方案。

我在图表上添加了以下代码段。

chart.setBarGap(-30);

条形图

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM