首页 > 解决方案 > R中的范围条形图

问题描述

hs

该图仅用于可视化。这些条不是从一个共同的零点开始,而是从该特定条的最小值开始,并以特定条的最大值结束。当我使用 ggplot geom_bar() 时,它会在原点设置最小值。如何将其更改为范围条形图?谢谢。

因此,我希望将最小值作为条形的底部,将最大值作为顶部,条形将显示最大值和最小值之间的差异。

这是我的数据:

Min <- c(0.1, 0.0001, 0.01, 0.12)
Max <- c(100, 4000, 1000, 10, 5)
Difference <- c(99.9, 3999.9, 999, 9.99, 4.88)

标签: r

解决方案


您提供的数据具有如此广泛的值,以至于看起来很糟糕。一个柱的高度为 5,另一个柱的高度为 4000。所有的最小值都接近于零。我将使用一些不同的数据来说明一种方法。您可以通过从空白图开始并为条形添加矩形来制作这样的条形。

## Generate some data
x = 1:20
set.seed(2019)
High = 5 + sin(x/2) + 0.3*rnorm(20)
Low  = High - runif(20, 0.3, 1.3)

## Blank plot
plot(1, type="n", xlab="", ylab="", xlim=range(x), 
    ylim=c(min(Low), max(High)))

## Add rectangles
rect(x - 0.2, Low, x + 0.2, High, col="blue")

范围栏


推荐阅读