簡體   English   中英

對數數據的 R 色標?

[英]R colour scale for logarithmic data?

我正在尋找一個對數(基數為 10)色標來為 R 中的 SOM U 矩陣圖着色。具體來說,尋找一個 colorRampPallette,在原始顏色編碼時,它在分布的低端比高的具有更多的 bin單位。

我在這里找到了一個可能的線索https://stat.ethz.ch/pipermail/r-help/2006-July/110187.html但這個解決方案似乎過於復雜。

我不確定從哪里開始,但懷疑有人已經解決了這個對數調色板問題?

ggplot可以使用scale_color_gradientn 這是一個帶有cars數據的示例。

ggplot(cars)+
  geom_point(aes(x = speed, y =dist, color = dist))+
  scale_color_gradientn(colors = colorRampPalette(colors = c("blue", "white"))(nrow(cars)), 
                        values = scales::rescale(log(sort(cars$dist))))

在此處輸入圖片說明

總而言之,可以使用colorRampPalette函數定義任意數量顏色的線性漸變,並且在scale_color_gradientn您可以將任何顏色映射到某個值 - 顏色的分布可以是線性的、對數的或任意的。 由於values參數接受 0 - 1 范圍,因此在對數轉換后的值上使用了scales::rescale

比較,這里沒有轉換

ggplot(cars)+
  geom_point(aes(x = speed, y =dist, color = dist))+
  scale_color_gradientn(colors = colorRampPalette(colors = c("blue", "white"))(nrow(cars)), values  = scales::rescale(sort(cars$dist)))

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM