想要用不同顏色標記R矩陣中的離羣點。 說我有數據以不同顏色顯示R熱圖離羣點
1 2 4 2 5
5 4 3 2 3
1 500 5 4 2
現在我想,以紀念500用不同的顏色,並與熱圖的默認顏色矩陣的剩餘。
有人能指導我完成整個過程嗎?
想要用不同顏色標記R矩陣中的離羣點。 說我有數據以不同顏色顯示R熱圖離羣點
1 2 4 2 5
5 4 3 2 3
1 500 5 4 2
現在我想,以紀念500用不同的顏色,並與熱圖的默認顏色矩陣的剩餘。
有人能指導我完成整個過程嗎?
如果你想清楚地看到500,你應該指定沒有縮放。例如,
m <- matrix(c(1, 5, 1, 2, 4, 500, 4, 3, 5, 2, 2, 4, 5, 3, 2),
ncol=5)
heatmap((m<500)+0, scale="none", Rowv=NA, Colv=NA)
謝謝你的幫助。但我想要的是500應該是在不同的梯度(可能是綠色),其餘的數字(可能是橙色)。 另外我想標籤來。你能幫我 –
我編輯我的答案給兩種顏色。 –
這是一個體面的解決方法來實現這一點。使用gplots
中的heatmap.2()
,可以爲熱圖中的NA值指定任何顏色。所以,如果你用一個簡單的函數來替換源矩陣中的NAs的異常值,那麼你可以用你喜歡的任何顏色來表示它們。
首先,選擇你的離羣值條件。舉例來說,讓我們說任何大於10的值都是異常值。
> m
# [,1] [,2] [,3] [,4] [,5]
# [1,] 1 2 4 2 5
# [2,] 5 4 3 2 3
# [3,] 1 500 5 4 2
m[m > 10] <- NA
現在繪製熱圖。
library(plots)
heatmap.2(m, trace = "none", na.color = "Green")
離羣現在是很好的和明顯的。
這個問題相當廣泛。沒有代碼也沒有數據。例如,請添加這個,以便我們看到您使用的圖形系統。 – lmo
df是我的數據集在這裏..所以當我使用下面的函數它被繪製..但1 2 3等之間的顏色梯度差異是無法區分的。所以,我想讓這個500來一些不同的顏色..可能是綠色的,其他顏色的矩陣其他顏色。 熱圖(as.matrix(sapply(DF,as.numeric)) ,標度= 「塔」 ,COL = heat.colors(256) ,主要= 「等等等等」 ,Rowv = NA ,COLV = NA ) –
請修改您的問題,而不是在評論中添加代碼。 – lmo