Vaadin Charts Tooltip динамическое форматирование

Предоставляет ли диаграммы Vaadin способ форматирования всплывающей подсказки на лету. Я хотел бы привязать некоторую логику к представлению значения во всплывающей подсказке. Вместо SOME_STRING мне нужна функция reverseNormalization для изменения значений.

Map coefficients = new HashMap();
Chart chart = new Chart(ChartType.LINE);
Configuration conf = chart.getConfiguration();
Tooltip tooltip = conf.getTooltip();

tooltip.setFormatter(
  "function() { " +
    "return SOME_STRING }"
);

func reverseNormalization(String name, Double normalizedValue) {
    return normalizedValue * coefficients.get(name);;
}

person ardarda    schedule 02.06.2018    source источник
comment
В строку форматирования всплывающей подсказки можно включить HTML и JavaScript.   -  person Tatu Lund    schedule 03.06.2018


Ответы (1)


Вот пример:

conf.getTooltip().setPointFormatter(
            "function() { " +
              "var category = this.x; " +
              "var multiplier = 10; " +
              "switch (category) " + 
              "{ " + 
              "   case 0: " + 
              "       multiplier = 10; " + 
              "       break; " + 
              "   case 1: " + 
              "       multiplier = 20; " + 
              "       break; " + 
              "   case 2: " + 
              "       multiplier = 30; " + 
              "       break; " + 

              "   default:  " + 
              "       multiplier = 50; " + 
              "}" +
              "var tipTxt = this.series.name + ': <b>' + this.y*multiplier + '</b><br>'; " +
              "return tipTxt; " +
              "}"  
            );

this.x даст вам значение категории (начиная с нуля) точки, которую представляет всплывающая подсказка. Вы можете использовать this.x, this.y и this.series.name, чтобы применить свои динамические вычисления и формат.

person turgos    schedule 06.06.2018