我目前正在創建一張美國地圖,其中包含每個州內變數(“總訪問量”)的梯度計數。
有一個狀態的計數非常高(即 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")
當前熱圖 - 較低值的狀態都具有相同的顏色
uj5u.com熱心網友回復:
我不打算回答你的問題,而是從另一個方向提出建議。如果您的值都嚴格為正,我將建議您改用對數轉換。(如果您的值包含負值或 0,您可以使用偽對數轉換)
這是您的問題的簡短模型,其中您的例外值很少。
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 包于 2022-03-10 創建(v2.0.1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/444207.html
