【问题标题】:How to set the javafx Barchart ticks to middle of the bar?如何将 javafx 条形图刻度设置为条形中间?
【发布时间】:2018-03-15 15:46:27
【问题描述】:

如何将 javafx 条形图刻度设置在条形中间?

我在刻度线和生成的条形之间出现了一些间隙。

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);
    }
}

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

【问题讨论】:

    标签: java javafx bar-chart


    【解决方案1】:

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

    我在图表上添加了以下代码sn-p。

    chart.setBarGap(-30);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-14
      • 1970-01-01
      相关资源
      最近更新 更多