SAS Принудительное отображение легенды для линий не на графике SGPANEL - PullRequest
0 голосов
/ 23 октября 2018

Итак, я хочу, чтобы на каждой странице появлялась полная легенда обо всех 8 процедурах. У меня есть 48 предметов, и все они приняли 1 из 8 процедур (по 6 предметов на каждую обработку), поэтому первые 4, которые появляются на странице 1, прошли всепроцедура 1 и, следовательно, в легенде появляется только процедура 1: код:

    /* report section*/
    ods rtf file="&place.\&outnum. &outnam1..rtf" style=tfl bodytitle nogtitle nogfootnote ; 
       ods listing close; 
       ods graphics on / height=7.8cm width=25cm border=off ;
       ods listing; 
    %macro paging(p=);
    proc sgpanel data=outputa.f_conc_&type (where=(page=&p)); 
       footnote1 j=l f=courier h=9pt "Source Listing: &slist; Produced: &mdate. &mtime. - Page &p of 10";
       footnote2 j=l f=courier h=9pt "Lower Limit of Quantitation - 1.00 ng/mL.";
       title1 f=courier h=9pt justify=c "&study";
       title2 f=courier h=9pt justify=c "&outnum";
       title3 f=courier h=9pt justify=c "&outnam1";
       title4 f=courier h=9pt justify=c "&outnam2";

          panelby subject / rows=2 columns=2 novarname;
         series x=atptn y=_1    / legendlabel="Trt 1"   name='_1'  lineattrs=(color=blue thickness=1 pattern=1);
         series x=atptn y=_2    / legendlabel="Trt 2"  name='_2'  lineattrs=(color=red thickness=1 pattern=1);
         series x=atptn y=_3     / legendlabel="Trt 3"  name='_3'  lineattrs=(color=green thickness=1 pattern=1);
         series x=atptn y=_4     / legendlabel="Trt 4"  name='_4'  lineattrs=(color=black thickness=1 pattern=1);
         series x=atptn y=_5    / legendlabel="Trt 5"  name='_5'  lineattrs=(color=orange thickness=1 pattern=1);
         series x=atptn y=_6    / legendlabel="Trt 6" name='_6'  lineattrs=(color=purple thickness=1 pattern=1);
         series x=atptn y=_7     / legendlabel="Trt 7" name='_7'  lineattrs=(color=magenta thickness=1 pattern=1);
         series x=atptn y=_8     / legendlabel="Trt 8" name='_8'  lineattrs=(color=brown thickness=1 pattern=1);
         keylegend '_1' '_2' '_3' '_4' '_5' '_6' '_7' '_8' / across=4 down=2;
       colaxis label="Time Post Dose (h)" labelattrs=(family='Courier') values=(0,1,2,3,4,6,8,10,12,16,24,36,48) min=0 max=48;
       rowaxis label="KVD900 Concentration (ng/mL)" &yaxis;
    run;

    %mend paging;
    %paging(p=1);
    %paging(p=2);
    %paging(p=3);
    %paging(p=4);
    %paging(p=5);
    %paging(p=6);
    %paging(p=7);
    %paging(p=8);
    %paging(p=9);
    %paging(p=10);
    ods rtf close; 

Заранее благодарен за любую помощь, я знаю, что это возможно через GTL, но если есть более простой путь через SGPANEL, я бы с удовольствиемзнаю, что я использую SAS 9.3, если есть какие-либо вопросы, задавайте:)

...