如何用ggplot生成非标准的情节类型?

drb*_*sen 15 r ggplot2

我想用ggplot制作一个看起来非常接近这个(在这里找到)的情节:

在此输入图像描述

但是,我想绘制条件的范围,而不是频率.这是我想用5个条件生成的情节草图:

在此输入图像描述

我的数据被安排为范围的起点和终点坐标.例如,对于条件5,范围的开始是30并且范围的结束是40(为了清楚起见,我在图中标记了这一点).我的数据来自以下形式的文件:

id      start   end
1       20      35
2       60      75    
3       10      30
4       80      90
5       30      40
Run Code Online (Sandbox Code Playgroud)

我有大约100个开始和结束值,我想以这种方式在一个图上绘制.最终的情节应该只有两种颜色.

更新:

为了将来参考,Justin的解决方案产生了这样的:

在此输入图像描述

Jus*_*tin 13

像这样的东西:

library(ggplot2)
library(reshape)
dat <- data.frame(lets=letters[1:5], low=1:5, mid=3:7, high=10:14)
dat.melt <- melt(dat, id.vars='lets')


ggplot(dat.melt, aes(x=lets, y=value, fill=variable)) + 
  geom_bar(stat='identity') + 
  scale_fill_manual(breaks=c('low','mid','high'), values=c('blue','red','blue')) +
  coord_flip()
Run Code Online (Sandbox Code Playgroud)

但完全依赖于您的数据......

  • `melt(yourdata,id.vars ='id')`会给你一个像我一样的结构.您也可以用"NA"替换第一种颜色,这样只有图片中的阴影部分才会被着色. (5认同)