Community deutschsprachiger SAS-Anwender und -Programmierer

Antworten
Dies ist eine offene Gruppe. Melden Sie sich an und klicken Sie auf die Schaltfläche „Gruppe beitreten“, um Mitglied zu werden und damit zu beginnen, Beiträge in dieser Gruppe zu veröffentlichen.
Highlighted
New Contributor
Beiträge: 2
Auflösung (DPI) von ODS Graph ändern

Liebe CoDe-Gemeinde,

 

dies ist meine erste Anfrage in der neuen CoDe Umgebung, nach dem ich lange Jahre redscope verwendet habe.

 

Ich habe die Aufgabe ODS Grafiken (in SAS 9.4) in einer bestimmten Auflösung abzuspeichern, aber das funktioniert leider nicht. Die Vorgaben sind *.tiff, oder *.gif als Format und eine Auflösung von mindestens 600dpi.

Mein

 

ods listing  gpath="&path.\TLF"  device=tiff; 
ods graphics on / reset=index imagename="name";
proc sgpanel data=test_all dattrmap=myAttrMap pctlevel=group;
  panelby parameter / columns=3 layout=COLUMNLATTICE  
    onepanel uniscale=row novarname;
  vbar class / group=system stat=percent attrid=myid; 
  rowaxis label="Percentage [%]"; 
run; 

Im Netz findet man die Option Image_dpi, womit es bei kleineren Auflösungen auch wunderbar funktioniert.

 

ods listing  gpath="&path.\TLF" image_dpi=300 device=png; 
ods graphics on / reset=index imagename="AO_Classifikation";
proc sgpanel data=test_all dattrmap=myAttrMap pctlevel=group;
  panelby parameter / columns=3 layout=COLUMNLATTICE  
    onepanel uniscale=row novarname;
  vbar class / group=system stat=percent attrid=myid; 
  rowaxis label="Percentage [%]"; 
  colaxis label=" "; 
run; 

Aber wenn man diesen Wert auf z.B. 600 oder 800 hochsetzt, erhalte ich folgende Fehlermeldung

WARNING: A very large output size of (4000, 3000) is in effect. This could make Java VM run out of memory and
         result in some Java exceptions. You should reduce the output size or DPI settings.
ERROR: Java virtual machine exception. java.lang.OutOfMemoryError: Java heap space.
NOTE: The SAS System stopped processing this step because of errors.

Dazu gibt es auch von SAS zu 9.2 eine SAS Note: Link Aber ohne die IT habe ich keine Chance an die entsprechende CFG Datei heranzukommen.

 

Weiterhin ist das Problem, dass *.tiff oder *.gif Grafiken gar nicht erst in einer anderen Auflösung als 96 DPI gespeichert werden.

 

Hat jemand hierzu schon Erfahrungen damit gemacht oder sogar eine Lösung? Denn vor allem für wissenschaftliche Publikationen hat man häufig diese Anforderung.

Bei den alten Grafiken (keine ODS Grafiken) konnte man dies mit xpixels=, ypixels=,... leicht erreichen.

 

Viele Grüsse,

 

Chris86

 

 

SAS Super FREQ
Beiträge: 619
Re: Auflösung (DPI) von ODS Graph ändern

Dieser Blog Eintrag kann hier helfen

http://blogs.sas.com/content/sgf/2015/11/20/how-to-increase-the-resolution-of-your-sas-graphics-outp...

 

Er beschreibt auch das der DPI keinen  Einfluss auf GIF Files hat.

 

Kann für die Publikation auch SVG verwenbdet werden?

 

Hier ein Beispiel Code zum testen, wenn es darum geht die Image files zu erstellen:


ods _all_ close;

ods graphics / reset;

ods listing
  gpath="c:\temp"
  image_dpi=600
;

ods graphics /
  outputfmt=png
  imagename="firstGraph"
  width=10cm
  height=8cm
;
title "%sysfunc(time(), time12.3)";
proc sgplot data=sashelp.class;
  vbar age ;
run;

 

Bruno

New Contributor
Beiträge: 2
Re: Auflösung (DPI) von ODS Graph ändern

Hallo Bruno,

 

vielen Dank mit dem nützlichen Link auf den SAS Blog. Der hat mir sehr weitergeholfen.

 

Die Akzeptanz von SVG-Grafiken bei Journals ist leider noch nicht wirklich hoch, wird sich aber in den nächsten Jahren sicherlich noch verbessern. Dann wird man hoffentlich dieses Problem nicht mehr haben ;-)

 

Danke für die Hilfe!

 

Gruss Chris86