我需要在ggplot2中用概率区间绘制一些离散预测,但是我遇到了一些问题 .
我有以下data.frame
city pred min.80 max.80
BH 100 50 150
RJ 120 80 140
SP 90 80 100
我想要一个y轴上城市的图和x轴上的预测值 . 对于y的每个离散值,应该有一个水平条,其范围是min.80和max.80值 . 我的想法是使用 ggplot2
来自 ggplot2
来做这件事 .
我尝试了下面的代码,但问题是我将离散变量转换为连续变量以便绘制它,并且我在标签上丢失了它们的值 .
> ggplot(df) + geom_rect(aes(xmin=min.80, xmax=max.80, ymin=as.numeric(city)-0.4,
+ ymax=as.numeric(city)+0.4))
还有另一种方法吗?
2 回答
我建议你使用geom
pointrange
或crossbar
:我想你想把y轴保持为一个因子(
y=city
) . 这种(估计间隔)数据可能最好用geom_pointrange
之类的东西完成 . 毕竟,矩形的"height"没有解释 .如果您必须将错误栏设置为水平,我之前已经通过两种方式完成了此操作:
使用
coord_flip()
上次我尝试
coord_flip()
时,它有点受限,所以我有时也会通过将geom_hline()
与geom_point()
相结合来重新创建geom_pointrange()
功能 .