Vaadin Flow: Solid Диаграмма калибровки может иметь кратные 20 максимум - PullRequest
0 голосов
/ 13 марта 2020

Я пытался создать диаграмму solid, но я не смог получить максимум 50. Я пытался передать 50, и он продолжал выставлять максимум как 60. Я думал, что он может увеличивать мои 10, поэтому я попробовал 40, но это продолжало давать мне максимум 40. Вот что у меня есть:

public static Chart solidGauge(int min, double current, int max, String label) {
        Chart chart = new Chart(ChartType.SOLIDGAUGE);

        Configuration configuration = chart.getConfiguration();

        Pane pane = configuration.getPane();
        pane.setCenter(new String[]{"50%", "50%"});

        //Change depending on how the gauge should be (more open or closed)
        pane.setStartAngle(-95);
        pane.setEndAngle(95);

        //Creates an arced background for the Gauge
        Background paneBackground = new Background();
        paneBackground.setInnerRadius("60%");
        paneBackground.setOuterRadius("100%");
        paneBackground.setShape(BackgroundShape.ARC);
        pane.setBackground(paneBackground);

        YAxis yAxis = configuration.getyAxis();
        yAxis.setTickAmount(2);
        yAxis.setTitle(label);
        //No small ticks
        yAxis.setMinorTickInterval("null");
        yAxis.getTitle().setY(-50);
        yAxis.getLabels().setY(16);
        yAxis.setMin(min);
        yAxis.setMax(max);

        PlotOptionsSolidgauge plotOptionsSolidgauge = new PlotOptionsSolidgauge();

        DataLabels dataLabels = plotOptionsSolidgauge.getDataLabels();
        dataLabels.setY(5);
        dataLabels.setUseHTML(true);

        configuration.setPlotOptions(plotOptionsSolidgauge);

        DataSeries series = new DataSeries(label);

        DataSeriesItem item = new DataSeriesItem();
        item.setY(current);
        item.setColorIndex(2);
        item.setClassName(label);
        DataLabels dataLabelsSeries = new DataLabels();
        dataLabelsSeries.setFormat("<div style=\"text-align:center\"><span style=\"font-size:25px;"
                + "color:black' + '\">{y}</span><br/>"
                + "<span style=\"font-size:12px;color:silver\">" + label + "</span></div>");

        item.setDataLabels(dataLabelsSeries);

        series.add(item);

        configuration.addSeries(series);

        return chart;
    }

Редактировать: Итак, я пробовал еще несколько значений, и кажется, что 500 раундов t 600, 550 раундов до 600 и т. д. c, и это чрезвычайно сложно обойти.

Редактировать 2: После некоторых копаний проблема может быть связана с файлом с именем chart.alignTicks, но я не знаю, как это изменить или отключить. ,

...