heineken2006
小弟是新手,最近碰上一个棘手的问题,有巨量的向量图需要用S+实现,输入文件主要是四个变量,lot_id,wafer_id,PM,x,y,xMA,yMA,其中x和y是x和y轴,xMA和yMA是x和y方向上的向量,前三项是用来分类的,如果只有少量数据,可以通过GUI方式的2Dvectorplot实现,现在我大概有几千张这样的图要画,哪位大虾可以给我些建议怎样实现这样的功能么?怎样编写这个程序?小弟先谢过了!
我不知道在这个论坛上怎样贴图,所以无法把图贴上来
yihui
暂且先不论vector plot,首先我想知道,画了几千张图你想怎么展示给别人看?或者说画这么多图的目的是什么?
yihui
算了,还是先论一下吧,省得楼主怪我跑题。
我觉得可以先打开一个device,比如pdf/postscript/jpg等等,然后循环,不断往里面作图,最后关闭device,就可以生成一个(或者一系列)文件,包含你的几千张图。
heineken2006
多谢你的建议:
因为我在做芯片数据分析,很多lot,很多wafer,所以图一定很多,如果一页ppt上放12张图,可能也就是100页左右,这是比较正常的,我之前作了一个5个lot,40片wafer的CDF图,用公司自己写的函数画的,70页图一个小S+程序就搞定,但没有vectorplot的函数,之前画vector plot 我是用gnuplot实现的,但不熟用法,没找到怎样循环这么多次。所以希望能用S+实现。
请问你可以给些更具体的实现方法么,多谢!
yihui
CDF和Vector plot的情况不一样,因为Empirical CDF可以直接用函数做出来,而Vector plot目前似乎没有直接的函数可以作,只能通过guiPlot( PlotType = "Vector")来创建,然后再修改作图对象,
guiModify( "VectorPlot", Name = "GS1$1$1",
xColumn = "x",
yColumn = "y",
zColumn = "z",
wColumn = "w",
AngleUnits = "Radians")
而且guiPlot也不太方便一页多图。但是我们知道Vector plot实质上也就是arrows()做出来的,那么当然也可以自己写一个简单的函数用来创建Vector plot。关于作图设备,R和S+略有不同,S+中是pdf.graph()等函数,R直接用的pdf()等函数。你可以去查帮助。