我正在尝试绘制一个向量 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 循环了颜色向量,所以第一个条是红色,第二个是蓝色,第三个是绿色,第四个是红色,依此类推。

我对通用解决方案很感兴趣,因为我的 data向量并不总是由数字 1 组成, 23 .在很多情况下,向量包含 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" 


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!