如何在 R 中的渐变比例中创建值差距
How to create a gap of values in a gradient scale in R
我目前正在创建 U.S 的地图。在每个状态内具有变量计数梯度 ('totalvisits')。
有一个州的计数非常高(即 MA - 超过 8000),而其他所有州都小于 500。我是否有可能在渐变比例中创建一个间隙,以便跳过 500 - 8000 的值。我还想要一些可以更好地可视化较低值状态之间差异的东西,因为现在热图使它们看起来都具有相同的值(下图)
这是我当前的代码:
statebins_US <-
statebins(state_data = patient_origin_bystate, state_col = "region", value_col = "totalvisits", dark_label = "black", light_label = "white", font_size = 3) +
theme_statebins(legend_position="right") +
scale_fill_gradientn(colours = rev(brewer.pal(10, "Spectral")), na.value = "gray78")
Current Heat Map - Where States of Lower Values all have Same Color
我不会回答你的问题,而是从另一个方向提出建议。如果您的值都是严格正数,我建议您改用 log-transformation。 (如果您的值包含负值或 0,您可以使用 pseudo-log 转换)
这是您问题的简要说明 mock-up,您的异常值很少。
library(ggplot2)
set.seed(0)
df <- expand.grid(LETTERS[1:6], LETTERS[1:6])
df$value <- rlnorm(nrow(df), meanlog = 6)
p <- ggplot(df, aes(Var1, Var2)) +
geom_tile(aes(fill = value))
p + scale_fill_distiller(palette = "Spectral")
我的建议是使用对数变换的调色板,而不是不连续的调色板。在这种情况下,它应该使用更多种类的调色板。
p + scale_fill_distiller(palette = "Spectral", trans = "log10")
由 reprex package (v2.0.1)
于 2022-03-10 创建
我目前正在创建 U.S 的地图。在每个状态内具有变量计数梯度 ('totalvisits')。
有一个州的计数非常高(即 MA - 超过 8000),而其他所有州都小于 500。我是否有可能在渐变比例中创建一个间隙,以便跳过 500 - 8000 的值。我还想要一些可以更好地可视化较低值状态之间差异的东西,因为现在热图使它们看起来都具有相同的值(下图)
这是我当前的代码:
statebins_US <-
statebins(state_data = patient_origin_bystate, state_col = "region", value_col = "totalvisits", dark_label = "black", light_label = "white", font_size = 3) +
theme_statebins(legend_position="right") +
scale_fill_gradientn(colours = rev(brewer.pal(10, "Spectral")), na.value = "gray78")
Current Heat Map - Where States of Lower Values all have Same Color
我不会回答你的问题,而是从另一个方向提出建议。如果您的值都是严格正数,我建议您改用 log-transformation。 (如果您的值包含负值或 0,您可以使用 pseudo-log 转换)
这是您问题的简要说明 mock-up,您的异常值很少。
library(ggplot2)
set.seed(0)
df <- expand.grid(LETTERS[1:6], LETTERS[1:6])
df$value <- rlnorm(nrow(df), meanlog = 6)
p <- ggplot(df, aes(Var1, Var2)) +
geom_tile(aes(fill = value))
p + scale_fill_distiller(palette = "Spectral")
我的建议是使用对数变换的调色板,而不是不连续的调色板。在这种情况下,它应该使用更多种类的调色板。
p + scale_fill_distiller(palette = "Spectral", trans = "log10")
由 reprex package (v2.0.1)
于 2022-03-10 创建