5

dataベクトルをヒストグラムのようなスタイルでプロットしようとしています。plot(data, type="h")これは、私が望んでいることを正確に実行するため、常に簡単です。ただし、色に問題があります。私のベクトルdataは次のようになります:

 data = c(1,2,2,3,1,1,2,3,1,2,2,3, ... )

私が見たいのは、それぞれが1つの色で、それぞれが異なる色で、そしてそれぞれが同じ1ようにプロットされていることです。私はそれを達成しようとしました23

 plot(data, type="h", col=c("red","blue","green")

しかし、Rが色ベクトルをループして失敗したため、最初のバーは赤、2番目は青、3番目は緑、4番目は赤というように続きました。

私のdataベクトルは必ずしも数1とで構成されているわけではないので、私は一般的な解法に非常に興味が2あり3ます。ベクトルが1から6までの数を保持する多くの場合があります。

誰かがこの問題を解決する方法を知っていますか?

4

3 に答える 3

11

次のように、同じ長さの色のベクトルを作成する必要があります。

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"
于 2012-11-13T16:25:04.133 に答える
6

一般的な方法でこれを試してください:

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])
于 2012-11-13T16:46:48.217 に答える
0
 colors = rainbow(length(unique(data)));
 hist(data, col=colors[data]) 

氏を使用して ラパルメのデータ(上記)

于 2012-11-13T21:12:25.800 に答える