[英]histogram-like plot with different colors in R
我試圖以直方圖樣式繪制矢量data
。 這總是很容易,因為plot(data, type="h")
完全符合我的要求。 但是,顏色存在問題。 我的矢量data
如下所示:
data = c(1,2,2,3,1,1,2,3,1,2,2,3, ... )
我想看到的,是每個1
中的一種顏色繪制,每2
不同的顏色和每3
同樣。 我試圖實現這一目標
plot(data, type="h", col=c("red","blue","green")
但它失敗了R圈在顏色矢量上,所以第一個欄是紅色,第二個是藍色,第三個是綠色,第四個是紅色,依此類推。
我非常普遍的解決方案interessted,因為我的data
載體不總是由這些數字的1
, 2
和3
。 在許多情況下,向量保存從1到6的數字。
有人知道如何解決這個問題嗎?
您需要創建一個相同長度的顏色矢量,如下所示:
data = c(1,2,2,3,1,1,2,3,1,2,2,3)
colors = c("red","blue","green")
plot(data, type="h", col=colors[data])
這是因為colors[data]
看起來像:
print(colors[data])
# [1] "red" "blue" "blue" "green" "red" "red" "blue" "green" "red"
# [10] "blue" "blue" "green"
試試這個通用方法:
data = c(1,2,2,3,1,1,2,3,1,2,2,3,4,5,6,7,12,3)
colors = rainbow(length(unique(data)))
plot(data, type="h", col=colors[data])
colors = rainbow(length(unique(data)));
hist(data, col=colors[data])
使用先生。 lapalme的數據(上)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.