Здесь я пытаюсь создать тепловую карту, используя highcharter::hcharter()
, где меньше -1 должно быть одного цвета (розовый), -1 до 1 должно быть прозрачным или белым color, а больше + 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 должен отображаться фиолетовый градиент цвета