有没有办法在ggplot
的同一个图上同时绘制水平和垂直点范围。我理解geom_pointrange(...)
绘制垂直点范围,并且可以使用coord_flip(...)
生成水平点范围,但我有兴趣将两者放在同一个图上。
set.seed(1)
df <- data.frame(x=sample(1:10,10),y=sample(1:10,10), x.range=1, y.range=2)
library(ggplot2)
ggplot(df) +
geom_pointrange(aes(x=x, y=y, ymin=y=y.range, ymax=y+y.range))
我正在寻找类似的东西:
ggplot(df) +
geom_pointrange(aes(x=x, y=y,
ymin=y-y.range, ymax=y+y.range,
xmin=x-x.range, xmax=x+x.range))
当然会产生与上面相同的输出,因为忽略了xmin
和xmax
参数。显然,geom_hpointrange(...)
中有一个函数ggExtra
,但据我所知,这个函数已被拉出。
答案 0 :(得分:8)
geom_errorbarh
您要找的是什么?
ggplot(data = df, aes(x = x, y = y)) +
geom_pointrange(aes(ymin = y - y.range, ymax = y + y.range)) +
geom_errorbarh(aes(xmax = x + x.range, xmin = x - x.range, height = 0))
答案 1 :(得分:0)