R:根据数据框的值给矩形着色
R: Coloring Rectangles depending on Values of Data frame
首先是对我正在寻找的内容的解释,然后是一些可重现的简单代码。
在我的示例中,我有一个没有任何线条但只有 10 个矩形的简单图。
我的目标是将 10 个矩形着色为绿色、红色或黄色。
矩形的颜色来自预装数据集 randu 的列 x 的最后 10 个观察值。
- 如果值 >0.7,矩形应该是红色
- 如果该值 >= 0.7 且 <= 0.5,则矩形应为绿色
- 如果该值小于 0.5,则矩形应为黄色
我定义了一个名为 farben 的向量,它由 3 个十六进制代码(黄红沙绿)组成
data(randu)
farben<-c("#FFFF00", "#00FF00", "#FF0000")
plot(c(0, 20), c(0, 40), type= "n", xlab = "", ylab = "")
for (i in 0:10) {
rect(i, 0, (i+1), 5, border = "black", col=farben)}
这应该可以解决问题。该代码不使用矢量 farben
,而是根据您列出的条件直接分配颜色:
plot(c(0, 20), c(0, 40), type= "n", xlab = "", ylab = "")
for (i in 0:10) {
randu_value <- tail(randu[, "x"], 11)[i+1]
if(randu_value > 0.7) color <- "#FF0000"
if(randu_value <= 0.7 & randu_value >= 0.5) color <- "#00FF00"
if(randu_value < 0.5) color <- "#FFFF00"
rect(i, 0, (i+1), 5, border = "black", col=color)
}
首先是对我正在寻找的内容的解释,然后是一些可重现的简单代码。
在我的示例中,我有一个没有任何线条但只有 10 个矩形的简单图。 我的目标是将 10 个矩形着色为绿色、红色或黄色。 矩形的颜色来自预装数据集 randu 的列 x 的最后 10 个观察值。
- 如果值 >0.7,矩形应该是红色
- 如果该值 >= 0.7 且 <= 0.5,则矩形应为绿色
- 如果该值小于 0.5,则矩形应为黄色
我定义了一个名为 farben 的向量,它由 3 个十六进制代码(黄红沙绿)组成
data(randu)
farben<-c("#FFFF00", "#00FF00", "#FF0000")
plot(c(0, 20), c(0, 40), type= "n", xlab = "", ylab = "")
for (i in 0:10) {
rect(i, 0, (i+1), 5, border = "black", col=farben)}
这应该可以解决问题。该代码不使用矢量 farben
,而是根据您列出的条件直接分配颜色:
plot(c(0, 20), c(0, 40), type= "n", xlab = "", ylab = "")
for (i in 0:10) {
randu_value <- tail(randu[, "x"], 11)[i+1]
if(randu_value > 0.7) color <- "#FF0000"
if(randu_value <= 0.7 & randu_value >= 0.5) color <- "#00FF00"
if(randu_value < 0.5) color <- "#FFFF00"
rect(i, 0, (i+1), 5, border = "black", col=color)
}