Vaadin 8 Chart удаляет лишнее пространство между сюжетом и заголовком - PullRequest
0 голосов
/ 26 сентября 2018

Я использую надстройку Vaadin 8 для создания датчиков в gridLayout, как показано на снимке ниже.Я пытаюсь удалить лишний интервал между диаграммой и областью заголовка, как выделено красным цветом.enter image description here

Фрагмент кода для создания датчика

private Chart gauge(Number newValue, String tooltip) {

    final Chart chart = new Chart();
    final Configuration configuration = chart.getConfiguration();
    configuration.getChart().setType(ChartType.GAUGE);
    configuration.getChart().setAlignTicks(false);
    configuration.getChart().setWidth(200);
    configuration.getChart().setHeight(200);
    configuration.getChart().setSpacingTop(0);
    configuration.getTitle().setMargin(0);
    configuration.getChart().setPlotBackgroundColor(SolidColor.GREENYELLOW);
    configuration.getChart().setPlotBackgroundImage(null);
    configuration.getChart().setPlotBorderWidth(0);
    configuration.getChart().setPlotShadow(false);
    configuration.getChart().setBackgroundColor(null);
    configuration.getChart().setMarginTop(0);
    configuration.getChart().setMarginBottom(0);

    configuration.getPane().setStartAngle(-150);
    configuration.getPane().setEndAngle(150);

    YAxis yAxis = new YAxis();
    // The limits are mandatory
    yAxis.setMin(0);
    yAxis.setMax(100);

    // Other configuration
    yAxis.getLabels().setStep(1);
    yAxis.setTickInterval(10);
    yAxis.setPlotBands(new PlotBand[] { new PlotBand(0, 40, SolidColor.GREEN),
            new PlotBand(40, 80, SolidColor.YELLOW), new PlotBand(80, 100, SolidColor.RED) });

    configuration.addyAxis(yAxis);

    final ListSeries series = new ListSeries(tooltip, 80);

    PlotOptionsGauge plotOptionsGauge = new PlotOptionsGauge();
    plotOptionsGauge.setDataLabels(new DataLabels());
    // plotOptionsGauge.getDataLabels()
    // .setFormatter("function() {return '<span style=\"color:#339\">'+
    // this.y + ' %</span>';}");

    plotOptionsGauge.setTooltip(new SeriesTooltip());
    plotOptionsGauge.getTooltip().setValueSuffix(" %");
    series.setPlotOptions(plotOptionsGauge);

    configuration.setSeries(series);

    series.updatePoint(0, newValue);

    chart.drawChart();

    return chart;
}

Любые указатели о том, как удалить лишнее пространство ???

TIA

Ответы [ 2 ]

0 голосов
/ 23 ноября 2018

Вы пытались уменьшить интервал?

Большинство вызовов API старших диаграмм можно использовать с диаграммами vaadin:

https://api.highcharts.com/highcharts/chart.spacing

spacing: Array.
Начиная с 3.0.6

Расстояние между внешним краем диаграммы и содержимым, таким как заголовок или легенда, или заголовок оси и меткиесли представить.Числа в массиве обозначают сверху, справа, снизу и слева соответственно.Используйте параметры spacingTop, spacingRight, spacingBottom и spacingLeft для краткой настройки одного параметра.

По умолчанию [10, 10, 15, 10].

0 голосов
/ 26 сентября 2018

Наконец-то нашли решение после многих попыток.Добавление строки ниже в шкале работало для меня, и вот снимок результатов

configuration.getPane().setSize(95, Unit.PERCENTAGE);

enter image description here

...