Здесь я пытаюсь создать тепловую карту, используя highcharter::hcharter()
, где меньше -1 должно быть одного цвета (розового), -1 к 1 должно быть прозрачным или белым, а больше +1 должен быть другого цвета (фиолетового).
В настоящее время я написал код с использованием hchart()
и использовал color_stops
для изменения формата цвета. Но это действительно хорошо работает, когда данные центрированы по 0, но когда они не центрированы по 0, скажем, от -5 до +7,5 белый / прозрачный цвет будет сдвинут на 1, как показано на изображении. ниже.
a1 <- rnorm(30,0,2)
a2 <- rnorm(30,0,2)
a3 <- rnorm(30,0,2)
a4 <- rnorm(30,0,2)
a <- cbind(a1,a2,a3,a4)
heatmap_matrix <- as.matrix(a)
library(highcharter)
hchart(heatmap_matrix) %>%
hc_colorAxis(stops = color_stops(n = 3, colors = c("#FF1493", "white", "#800080")))
Для диапазона данных от -5 to +7.5
от -5 до -1 должен отображаться розовый цвет градиента
от -1 до +1 должен отображаться белый цвет
от +1 до 7,5 должен отображаться фиолетовый цвет градиента