我试图以data直方图样式绘制矢量.这总是很容易,因为plot(data, type="h")我正是我想要的.但是,颜色存在问题.我的矢量data看起来像这样:
data = c(1,2,2,3,1,1,2,3,1,2,2,3, ... )
Run Code Online (Sandbox Code Playgroud)
我想看到的是,每个1都是用一种颜色绘制的,每种颜色都是2不同的颜色,每种颜色都是相同的3.我试图实现这一目标
plot(data, type="h", col=c("red","blue","green")
Run Code Online (Sandbox Code Playgroud)
但它失败了R圈在颜色矢量上,所以第一个栏是红色,第二个是蓝色,第三个是绿色,第四个是红色,依此类推.
在一般的解决方案中,我非常感兴趣,因为我的data向量并不总是由数字组成1,2而且3.在许多情况下,向量保存从1到6的数字.
有人知道如何解决这个问题吗?
Dav*_*son 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])
Run Code Online (Sandbox Code Playgroud)
这有效,因为colors[data]看起来像:
print(colors[data])
# [1] "red" "blue" "blue" "green" "red" "red" "blue" "green" "red"
# [10] "blue" "blue" "green"
Run Code Online (Sandbox Code Playgroud)
试试这个通用方法:
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])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6558 次 |
| 最近记录: |