你要画的图叫背靠背柱形图(back-to-back barplot)吧,
Rgraphics中一个例子是画这种的。
<br />
> x= c(1, 3, 5, 7, 9, 11, 9, 7, 5, 3, 1)<br />
> y= c(11, 9, 7, 5, 3, 1, 3, 5, 7, 9, 11)<br />
> z= 1:11<br />
> plot.new()<br />
> plot.window(xlim= c(-12, 12), ylim= c(0, 10))<br />
> tick= seq(-12, 12, 2)<br />
> lines(rep(0, 2), c(0, 10))<br />
> bin= 0.2<br />
> y.co= 1:length(x)<br />
> rect(-y, y.co-bin, 0, y.co+bin, col= 'red')<br />
> rect(0, y.co-bin, x, y.co+bin, col= 'blue')<br />
> axis(1, at= tick, labels= abs(tick), pos= 0)<br />
</p>
如果嫌不满意的话,可以计数之后再来画图
<br />
> x.t= table(x)<br />
> y.t= table(y)<br />
然后再用rect来画图,应该可以得到自己想要的图形。
</p>