2012-02-01 39 views
1

我有以下类型的数据,我想生成条形图。用R(基本R或ggplot2或其他包)填充颜色和距离的矩形条形图

Mark <- 1:10 
Post <- c(0, 1, 4, 5, 6, 
      8, 10, 11, 12, 13) 
color <- c(1,0.5,1, 1, 0.6, 0.7, 1,1,1) # 9 intervals between ten points 

这里十个Mark应该在X轴的Post中。而不是酒吧高度是恒定的,但颜色编码的颜色变量。例如,1-2之间的间隔对应于1个颜色值,而2-3对应于颜色值0.5。因此,对于10马克,有9个颜色值。

enter image description here

如何制作这样的图表?

EDITS:

这将是完美的,如果我可以添加色阶传说 - 色强度对数值

回答

4

并不完美,但应该让你开始:

greens <- colorRampPalette(c("white","darkgreen")) 
barplot(as.matrix(diff(Post)), horiz=T, col=greens(10)[10*color], axes=F, xlab="Mark") 
axis(1, labels=Mark, at=Post) 
axis(3, labels=Post, at=Post) 

Plot

+1

@John将参数'yaxs =“i”'添加到'barplot'调用中,以消除轴和条之间的空白区域。 – Gregor 2012-02-01 20:58:17

+0

@詹姆斯感谢詹姆斯!怎样才能得到所用颜色的比例? – jon 2012-02-01 22:45:59

相关问题