大侠好,我想问个作图的问题,就是如何将两组数据做对称图,横坐标z数据共用置中间,然后两个纵坐标数据分别为x,y,并barplot到一个对称的柱形图上去。谢谢!!!
数据如下:
x<-c(1,3,5,7,9,11,9,7,5,3,1)
y<-c(11,9,7,5,3,1,3,5,7,9,11)
z<-c(1,2,3,4,5,6,7,8,9,10,11)
求助-对称柱状图绘制
大家帮忙看看啊![s:15]
回复 第1楼 的 qingwa85:可以把你心中想要的结果用手画出来,扫描后贴出来。起码我没看太明白你的语言描述。[s:13]
有道理,附个图EXCEL做的类似的图,将两个柱状图简单的合并一起了,当然这只是效果图了!![s:13]希望大家鼎力相助啊!!
[attachment=230112,1724]
你要画的图叫背靠背柱形图(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>
呵呵,好的。谢谢楼上的哈!![s:13]
21 天 后
http://cos.name/cn/topic/101239
这里有介绍。。。[s:18]