2014-09-11 102 views
1

我正在使用SAS 9.3。 我的目標是在每個頁面上創建一個包含2個圖表的pdf文件。 我得到這個代碼部分成功:刪除頁面標題pdf

data mydata; 
    var1=1; 
    var2=2; 
run; 

%macro pic; 
    %do i=1 %to 6; 
     proc sgplot data=mydata; 
     title "Title &i"; 
     vbar var1/response=var2; 
     run; 
    %end; 
%mend pic; 

ods pdf file = "&folder\test.pdf" STARTPAGE=NEVER style=SASweb; 
%pic; 
ods pdf close; 

然而,問題是,第2頁後,SAS決定自動使用我的圖形標題作爲網頁的標題。雙重標題佔用空間,看起來很愚蠢。如何擺脫這個頁面標題?爲什麼它不出現在第一頁上?

如何保留圖表標題但擺脫頁面標題?

編輯:我可以用這條語句縮放圖形適合每頁兩個地塊:

ods graphics on/width=580px; 

但我真正需要的是擺脫雙重稱號。

我試圖指定

title; 
劇情前

,但它並不能幫助。 也

Options noproctitle; 

不讓我在那裏。

回答

1

我的建議是取出TITLE。相反,使用位於頂部的INSET,可以在圖表內爲您提供等價的TITLE。 (如果你使用GTL,我會建議一個EntryTitle,但你不是。)

這不完全相同,但它得到了這個想法。使用帶有ENTRYTITLE的GTL可以做得更好。您還可以使用樣式模板(改變牆壁邊框,我相信)去除圍繞軸的框架。

data mydata; 
    var1=1; 
    var2=2; 
run; 

%macro pic; 
%do i=1 %to 6; 
proc sgplot data=mydata; 
    inset "Title &i"; 
    vbar var1/response=var2; 
    yaxis offsetmax=.1; *to leave some room for the inset; 
run; 
%end; 
%mend; 

ods pdf file = "&folder\test.pdf" STARTPAGE=NEVER style=SASweb; 
%pic; 
ods pdf close; 
+0

謝謝。這完成了。我還在Inset語句中指定了'/ POSITION = TOP BORDER TEXTATTRS =(size = 14pt)',以使其更加明顯。我仍然想知道爲什麼SAS在劇情中使用標題時堅持添加這些頁面標題。 – Pekka 2014-09-12 06:10:15

+0

因爲你沒有在劇情中使用標題。標題總是一個全球性聲明; SGPLOT只是借用它。我不確定頁面1和頁面2之間爲什麼不一致;如果你想找到答案,我最好的建議是在community.sas.com上發佈數據可視化或ODS論壇,也許其中一位開發人員可以解釋它們之間的差異(Cynthia @ SAS可能是最好的答案那樣,但桑傑/丹同樣可能會知道)。 – Joe 2014-09-12 14:36:49

1

更改通過proc sgplot到下面的工作對我來說標題聲明:

%if &i=1 %then %str(title "Title &i";); 
%else %str(title;); 

希望幫助你。

+0

不,這沒有幫助。這只是從我的所有圖片中刪除標題,除了第一個。我仍然需要包含圖片標題,但不包含頁面標題。我試圖澄清我的問題。 – Pekka 2014-09-11 11:05:20