在 R 中的条形图中,如何仅对选定条形的指定最右侧 x% 着色?
In a bar plot in R, how to color only a specified rightmost x% of a selected bar?
在 R 条形图中,我可以为选定的条形图着色;例如,使用如下代码:
data <- c(3,4,2,1)
colors <- rep("#ffffff", 4)
colors[2] <- "#ff0000"
barplot(data, col=colors, space=c(0,0,0,0))
问题:我如何才能仅对所选柱的指定最右边的 x% 着色, 对于 0
例如,在上面的示例中,仅对第二个条形的最右边的 70% 着色看起来像这样:
(我预计会有一个关于这个问题或类似问题的已经回答的问题——但如果有的话,我没能找到它。如果我错过了,我深表歉意。 )
您必须向条形图添加一个矩形:
out <- barplot(data, col="white", space=c(0,0,0,0))
out
# [,1]
# [1,] 0.5
# [2,] 1.5
# [3,] 2.5
# [4,] 3.5
您有 4 个柱状图,out
列出了每个柱状图 x-axis 的中心。您想要遮蔽第二条的一部分,在 x-axis 上从 (2 - .7) 到 2,在 y-axis 上从 0 到 data[2]
或 4:
rect((2 - .7), 0, 2, 4, border=NA, col="red")
rect(1, 0, 2, 4, border="black") # Optional to overprint the border
在 R 条形图中,我可以为选定的条形图着色;例如,使用如下代码:
data <- c(3,4,2,1)
colors <- rep("#ffffff", 4)
colors[2] <- "#ff0000"
barplot(data, col=colors, space=c(0,0,0,0))
问题:我如何才能仅对所选柱的指定最右边的 x% 着色, 对于 0 例如,在上面的示例中,仅对第二个条形的最右边的 70% 着色看起来像这样: (我预计会有一个关于这个问题或类似问题的已经回答的问题——但如果有的话,我没能找到它。如果我错过了,我深表歉意。 )
您必须向条形图添加一个矩形:
out <- barplot(data, col="white", space=c(0,0,0,0))
out
# [,1]
# [1,] 0.5
# [2,] 1.5
# [3,] 2.5
# [4,] 3.5
您有 4 个柱状图,out
列出了每个柱状图 x-axis 的中心。您想要遮蔽第二条的一部分,在 x-axis 上从 (2 - .7) 到 2,在 y-axis 上从 0 到 data[2]
或 4:
rect((2 - .7), 0, 2, 4, border=NA, col="red")
rect(1, 0, 2, 4, border="black") # Optional to overprint the border