繁体   English   中英

用概率区间绘制离散预测 - ggplot2

[英]Plotting discrete predictions with probability intervals - ggplot2

我需要在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值。 我的想法是使用geom_rectggplot2来做到这一点。

我尝试了下面的代码,但问题是我将离散变量转换为连续变量以便绘制它,并且我在标签上丢失了它们的值。

> ggplot(df) + geom_rect(aes(xmin=min.80, xmax=max.80, ymin=as.numeric(city)-0.4,
+ ymax=as.numeric(city)+0.4))

还有另一种方法吗?

我建议你使用geom pointrangecrossbar

ggplot(df, aes(x=city)) + 
  geom_pointrange(aes(ymin=min.80, ymax=max.80, y=pred)) +
  coord_flip()

在此输入图像描述

ggplot(df, aes(x=city)) + 
  geom_crossbar(aes(ymin=min.80, ymax=max.80, y=pred)) +
  coord_flip()

在此输入图像描述

我想你想把y轴保持为一个因子( y=city )。 使用geom_pointrange东西可能更好地完成这种(估计+间隔)数据。 毕竟,矩形的“高度”没有解释。

如果您必须将错误栏设置为水平,我之前已经通过两种方式完成了此操作:

  1. 使用coord_flip()
  2. 上次我尝试使用coord_flip() ,它有点受限,因此我有时也会通过将geom_hline()geom_point()相结合geom_hline()重新创建geom_pointrange()功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM