根据 hcharter 中的给定序列设置热图颜色范围
Setting Heat Map Color range as per given Sequence in hcharter
我在这里尝试使用 highcharter::hcharter()
创建热图,其中 小于 -1 应该是一种颜色(粉红色),-1 to 1应该是透明或者白色,而大于+1应该是另一种颜色(紫色)。
目前我已经使用hchart()
编写代码并使用color_stops
更改颜色格式。但是当数据以 0 为中心时这非常有效,但是当它不以 0 为中心时让我们说从 -5 到 +7.5 white/transparent 颜色将转移到 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 应该显示紫色渐变颜色
hc_colorAxis()
中的参数 stops
需要一个列表,该列表将最小值定义为 0,将最大值定义为 1。可以设置一个0~1之间的数字来表示某个值的位置,并设置它的颜色。
找到零所在的位置
p <- (0 - min(heatmap_matrix)) / (max(heatmap_matrix) - min(heatmap_matrix))
设置自定义列表
stops <- data.frame(q = c(0, p, 1),
c = c("#FF1493", "#FFFFFF", "#800080"),
stringsAsFactors = FALSE)
# q c
# 1 0.000000 #FF1493
# 2 0.434873 #FFFFFF
# 3 1.000000 #800080
stops <- list_parse2(stops)
控制参数
hchart(heatmap_matrix) %>%
hc_colorAxis(stops = stops, startOnTick = F, endOnTick = F)
我在这里尝试使用 highcharter::hcharter()
创建热图,其中 小于 -1 应该是一种颜色(粉红色),-1 to 1应该是透明或者白色,而大于+1应该是另一种颜色(紫色)。
目前我已经使用hchart()
编写代码并使用color_stops
更改颜色格式。但是当数据以 0 为中心时这非常有效,但是当它不以 0 为中心时让我们说从 -5 到 +7.5 white/transparent 颜色将转移到 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 应该显示紫色渐变颜色
hc_colorAxis()
中的参数 stops
需要一个列表,该列表将最小值定义为 0,将最大值定义为 1。可以设置一个0~1之间的数字来表示某个值的位置,并设置它的颜色。
找到零所在的位置
p <- (0 - min(heatmap_matrix)) / (max(heatmap_matrix) - min(heatmap_matrix))
设置自定义列表
stops <- data.frame(q = c(0, p, 1),
c = c("#FF1493", "#FFFFFF", "#800080"),
stringsAsFactors = FALSE)
# q c
# 1 0.000000 #FF1493
# 2 0.434873 #FFFFFF
# 3 1.000000 #800080
stops <- list_parse2(stops)
控制参数
hchart(heatmap_matrix) %>%
hc_colorAxis(stops = stops, startOnTick = F, endOnTick = F)