Продолжая публикации на тему тепловых карт, сегодня расскажу, как создать двухцветный градиент в тепловой карте с помощью функции ColorMix1, ColorMix2 и ColorMixWizard.

Я буду использовать тот же пример, что и в первой части поста, с погодой по странам и городам для отдыха.

Как работает ColorMix1

Функция ColorMix1 (value, ColorMin, ColorMax) возвращает представление цвета RGB для двухцветного градиента на основе значения value от 0 до 1.

Если значение value = 0, то возвращается первый цвет.

Если значение value = 1, то возвращается второй цвет.

Если 0 < value < 1, то возвращается соответствующий промежуточный оттенок.

ColorMin – это действительное представление RGB для цвета, который будет связан с нижним пределом интервала.

ColorMix – это действительное представление RGB для цвета, который будет связан с верхним пределом интервала.

Colormix1: двухцветный градиент по всем данным

Допустим, мы хотим узнать, в каких странах из всего списка стран и городов жарче всего. Для этого построим двухцветный градиент в ячейках диаграммы на основании значений температур в городах за 12 месяцев (минимальное значение температуры по всем данным таблицы — зеленый цвет, максимальное —  красный цвет).

Для этого выполним следующее:

  1. Откроем окно «Edit Expression» для атрибута «Background Color».Тепловая карта в QlikView
  2. Запишем выражение, используя функцию ColorMix1:

  1. Нажмем кнопку OK в окне Edit Expression и кнопку ОК в окне Chart Properties, чтобы применить изменения к диаграмме. Результат окрашивания ячеек показан на Рис. 4. Все ячейки окрашены соответствующими цветами градиента — самая высокая температура (+36,3, город Шарм-эш-Шейх, август) обозначена ярким красным цветом, а самая низкая температура (-7,2,  город Клагенфурт, январь) определена ярким зеленым цветом. Остальные ячейки окрашены промежуточными оттенками красного и зеленого цветов.

Отмечу, что такое отображение удобно далеко не всегда, поскольку человеческий глаз лучше всего воспринимает контрастные цвета на тепловых картах, например, черный и белый, зеленый и красный, но без градиента.

Colormix Wizard: градиент отдельно для каждой колонки

Теперь, как и в первой части поста, мы определились с месяцем отпуска (май) и хотим выбрать наиболее комфортную для нас страну пребывания. Построим двухцветные градиенты на основании значений температур в городах за каждый месяц в отдельности (минимальное значение температуры по каждому  месяцу – зеленый цвет, максимальное – красный цвет).

Для атрибута «Background Color» с помощью функционала Colormix Wizard автоматически сформируем выражение на основе функции ColorMix1. Для этого выполним следующее:

Выполним следующее:

  1. Откроем окно Edit Expression для атрибута «Background Color».
  2. С помощью функционала Colormix Wizard автоматически сформируем выражение на основе функции ColorMix1. Для этого в окне «Edit Expression» выберем пункт меню File -> Colormix Wizard.

Редактор выражений QlikView

  1. Появится окно «Colormix Wizard». Нажмем кнопку Next, чтобы перейти в окно первого диалога. В поле Value Expression введем выражение для вычисления цвета в каждой ячейке: Only(Температура).ColorMix()
  2. Нажмем кнопку Next, чтобы перейти на следующую страницу диалога.
  3. В окне Step 2 нажмем кнопку Reverse, чтобы установить красный цвет в качестве верхней границы, а зеленый – в качестве нижней границы.

ColorMix()

  1. Нажмем последовательно кнопки Next и Finish. Функционал Colormix Wizard автоматически сгенерирует в окне Edit Expression выражение для цвета ячеек:

  1. Нажмем кнопку OK в окне Edit Expression и кнопку ОК в окне Chart Properties, чтобы применить изменения к диаграмме. Вот наш результат окрашивания ячеек:

Тепловые карты QlikView

Вариант получился интересный, но на мой вкус, градиент здесь дает больший диапазон для выбора, чем в примере с IF.

Как работает ColorMix2

Функция ColorMix2 (value, ColorMin, ColorMax, ColorZero) возвращает представление цвета RGB для двухцветного градиента с возможностью указания промежуточного цвета для центральной позиции на основе значения value от -1 до 1.

Если значение value = -1, то возвращается первый цвет.

Если значение value = 1, то возвращается второй цвет.

Если -1 < value < 1, то возвращается соответствующий промежуточный оттенок.

ColorMin – это действительное представление RGB для цвета, который будет связан с нижним пределом интервала.

ColorMix – это действительное представление RGB для цвета, который будет связан с верхним пределом интервала.

ColorZero – это действительное представление цвета RGB, который будет связан с центром интервала.

ColorMix2: двухцветный градиент для каждой колонки с указанием промежуточного цвета

Допустим, нам важно выявить город со средней температурой из стран всего списка в разбивке по месяцам. Построим двухцветные градиенты с выделением центрального интервала в ячейках диаграммы за каждый месяц в отдельности (минимальное значение температуры по каждому  месяцу – зеленый цвет, максимальное – красный цвет, центральный интервал – желтый цвет).

Для атрибута «Background Color» с помощью функционала Colormix Wizard автоматически сформируем выражение на основе функции ColorMix2. Для этого выполним следующее:

  1. В диалоговом окне Edit Expression выберем пункт меню File -> Colormix Wizard ..
  2. Появится окно Colormix Wizard. Нажмем кнопку Next, чтобы перейти в окно первого диалога. В поле «Value Expression» введем выражение для вычисления цвета в каждой ячейке: Only(Температура).
  3. Нажмем кнопку Next, чтобы перейти в окно второго диалога. Щелкнем на кнопке Reverse, чтобы установить красный цвет в качестве верхней границы, а зеленый – в качестве нижней границы. Установим флаг в поле «Intermediate» и введем центральное значение температуры, например 21.ColorMix QlikView
  4. Нажмем последовательно кнопки Next и Finish. Функционал Colormix Wizard автоматически сгенерирует в окне «Edit Expression» выражение для цвета ячеек:

  1. Нажмем кнопку OK в окне Edit Expression и кнопку ОК в окне Chart Properties, чтобы применить изменения к диаграмме. Результат окрашивания ячеек:

Тепловые карты QlikView

На диаграмме по столбцам все ячейки окрашены соответствующими цветами градиента с выделением центрального интервала +21. Так, в январе самая высокая температура (+31,8, город Пхукет) обозначена ярким красным цветом,  самая низкая температура (-7,2,  город Клагенфурт) определена ярким зеленым цветом, а центральный интервал (+21,1, города Варадеро и Гавана) окрашены желтым цветом. Остальные ячейки окрашены промежуточными оттенками:

  • красного и желтого цветов,
  • зеленого и желтого цветов.

На этом все. Как видно из примеров для каждого показателя диаграммы QlikView можно настроить цвета, которые задаются в атрибуте показателя «Background Color» в виде выражения.

P.S.

Кому интересно, то в итоге мы поехали всей дружной компанией на Гоа, как я и хотела. Ну и как фанат QlikView, считаю, что моя тепловая карта сыграла в этом не последнюю роль – мои друзья быстро посмотрели данные карты температур, и мы в тот же день забронировали билеты. А уже через неделю купались в чистейших водах Индийского океана и отдыхали на безграничных песчаных пляжах, но это уже совсем другая история…

Оставляйте свои комментарии и рассказывайте, как вы используете тепловые карты.

[emaillocker]

Cкачивайте демо-приложение QlikView HeatMap, чтобы лучше разобраться!

[/emaillocker]