Тепловая карта vaadin не поддерживает точки 40x40 (1600)?

В Vaadin 14.6.1 я попытался создать тепловую карту Vaadin, обманывая документацию / пример из здесь.

Однако я столкнулся с несколькими проблемами / вопросами, перечисленными ниже в порядке убывания важности:

  1. Тепловая карта поддерживает 30 строк на 30 столбцов; но когда я попробовал 40 строк на 40 столбцов, вся тепловая карта показывала один цвет (синий в моем случае).
  2. Можно ли вручную установить минимальное числовое значение и максимальное числовое значение для цветовой схемы. Таким образом, если я построю свои данные в один день, и они будут иметь значения в диапазоне от 0 до 1, но в другом наборе данных из другого дня числовые значения будут находиться в диапазоне от 0 до 0,5, цветовая схема range не изменится автоматически (от 0 до 0,5) и не запутает пользователя.
  3. В документации это перечислены следующие методы, но, похоже, они не существуют в Vaadin 14.6.1
plotOptions.setBorderColor(SolidColor.WHITE);
plotOptions.setBorderWidth(2);
  1. Когда я наводю курсор на точки данных, есть ли способ, которым всплывающая подсказка может только отображать числовое значение (а не координаты x, y или название серии и т. Д.?)
  2. Есть ли ограничение на количество точек данных? Я надеюсь, что если будет решен пункт 1, указанный выше, я смогу построить тепловую карту 100 на 100 (т. Е. 10 000) точек.
  3. Если я построю 100 на 100, на осях x и y будет много меток. В моем случае оси x и y на самом деле числовые, поэтому я сделал то, что предлагалось в документации, и просто разместил метки категорий в точках xaxis и yaxis. Однако есть ли способ отображать только каждую n-ю метку, чтобы оси x и y не были так переполнены? (Это по существу имитирует то, что Ваадин делает для xaxis и yaxis нормальных линейных диаграмм).

person Jonathan Sylvester    schedule 27.05.2021    source источник


Ответы (1)


Я не очень разбираюсь в диаграмме Ваадина, но вот вопросы, которые я могу прокомментировать:

(1) С элементами 40x40 вы превышаете порог в 1000, при котором диаграмма переключается в турбо-режим по соображениям производительности. Похоже, это несовместимо с серией тепловых карт. Вы можете отключить турбо-режим, установив plotOptions.setTurboThreshold(0);

(2) К сожалению, ColorAxis не поддерживает это, у него есть только API для минимального и максимального цвета. Тем не менее, это определенно допустимый вариант использования, и, похоже, он поддерживается библиотекой Highcharts, которую использует Vaadin Chart под капотом. Вам следует подумать об открытии запроса функции для этого в репозитории Github.

(3) Похоже, это проблема с документацией. Эти методы доступны в более поздних версиях платформы Vaadin, но не в 14.6.

(5) Теоретически нет, но на практике производительность браузера сильно снизится из-за чрезмерного количества элементов DOM (быстрый тест 100x100 заморозил браузер на 10 секунд). Боюсь, что этот компонент не предназначен для таких экстремальных случаев использования. В этом случае может быть лучше использовать низкоуровневую библиотеку рисования JS с использованием холста или нарисовать изображение на стороне сервера и отобразить его в браузере. Возможно, вы также можете изменить свой вариант использования, чтобы отображать только один фрагмент ваших данных и позволять пользователю переключаться между фрагментами.

person Sascha Ißbrücker    schedule 27.05.2021