pinggu2688 发表于 2011-7-28 02:52
关键是不需要显示刻度值的刻线如何去掉,比如刻线在1,2,3的时候不需要显示,如何去掉刻线,或者刻线高度如何把不需要显示的刻线(其他)高度设置为0,需要显示的刻线(0,4,8,12,13)高度设置为1?
-
- options symbolgen;
- %let n=13;
- %let n1=%eval(&n.-1);
- %let m=4;
- data one;
- input y x;
- cards;
- 2 0
- 3 7
- 4 9
- 2 13
- 6 8
- 5 2
- ;
- run;
-
- %macro test();
- data tick;
- do i=1 to &n;
- mode=mod(i,&m.);
- if mode=0 then tick=put(i,2.);
- else tick=' ';
- output;
- end;
- run;
- proc sql noprint;
- select tick INTO : tick1 -:tick&n1
- from tick
- ;
- quit;
- DATA plotanno;
- set one end=eof;
- Length FUNCTION COLOR STYLE font $8 TEXT $100 ;
- RETAIN COLOR 'BLACK' WHEN 'A' LINE 1 ;
- %do k=1 %to &n1;
- %IF "&&tick&k." NE NONE %THEN %DO;
- YSYS='1'; XSYS='2'; HSYS='5'; font='Arial';
- line=1; size=0.1; color='BLACK';
- function='move'; y=0; x=INPUT("&&tick&k.",2.); Output;YSYS='9';
- function='draw'; y=-1; Output;
- %END; %END;
- if eof then do;
- YSYS='1'; XSYS='2'; HSYS='5'; font='Arial';
- line=1; size=0.1; color='BLACK';
- function='move'; y=0; x=0; Output;YSYS='9';
- function='draw'; y=-1; Output;
- function='move'; y=1; x=13; Output;YSYS='9';
- function='draw'; y=-1; Output;
- end;
- RUN;
- axis1 minor=(number=1) label=none major=NONE minor=none value=('0' %do j=1 %to &n1; "&&tick&j." %end; "&n") ;
- proc gplot data=one anno=plotanno;
- plot y*x/haxis=axis1;
- run;quit;
- %mend;
- %test();


雷达卡





京公网安备 11010802022788号







