With the following (example) code a picture is created which looks fine if using IMAGE_DPI=100 in the ODS LISTING (see graph1.pdf). But if using IMAGE_DPI=1200 (what is needed by customer) the symbols are displayed in a very light shade (nearly invisible) which could not be acceptable (see graph2.pdf). Any ideas how to solve this? Thanks for any ideas or hints!
SAS code:
data test;
input avg diff sgrpdc count_score;
cards;
2 0 1 1
5 -1 1 1
12 2.5 1 2
18 1.2 1 1
20 -3 1 3
20 -1 1 1
23 3.5 1 2
25 -4 1 1
27 2.1 1 2
33 0.4 1 4
3 1.1 2 1
6 -1 2 2
12 0.5 2 1
15 -1.2 2 2
18 -3 2 1
20 -1 2 1
24 0.5 2 1
26 -4 2 1
;
run;
proc template;
define style styles.mypng;
parent=styles.listing;
style GraphData1 from GraphData1 / color=black contrastcolor=black linestyle=1
markersymbol='plus';
style GraphData2 from GraphData2 / color=black contrastcolor=black linestyle=1
markersymbol='circle';
style GraphOutlines from GraphOutlines / color=black contrastcolor=black linestyle=1
linethickness=4pt;
end;
define statgraph sgdesign;
begingraph;
entrytitle "Score for Cystic Fibrosis and COPD subjects p=0.xxxx";
layout overlay / yaxisopts=(label="Within Subject Difference (V2 - V1)#in score"
labelattrs=(size=8) labelfitpolicy=splitalways labelsplitchar='#' labelsplitchardrop=true
linearopts=(viewmin=-6 viewmax=8 minorticks=true
minortickcount=4 tickvaluesequence=(start=-6 end=8 increment=2)))
xaxisopts=(label="Within Subject Average (V1 and V2) in Score"
labelattrs=(size=8) linearopts=(viewmin=0 viewmax=40
tickvaluesequence=(start=0 end=40 increment=10)));
scatterplot x=avg y=diff / group=sgrpdc
name='scatter' markersizeresponse=count_score;
referenceline y=1 / lineattrs=(color=black) curvelabel="Mean:mw" curvelabelposition=max
curvelabellocation=outside curvelabelsplitchar='#' curvelabelsplitchardrop=true
curvelabelsplit=true curvelabelattrs=(color=black size=6);
referenceline y=3 / lineattrs=(color=black pattern=shortdash) curvelabel="+1.96SD:sd"
curvelabelposition=max curvelabellocation=outside curvelabelsplitchar='#'
curvelabelsplitchardrop=true curvelabelsplit=true curvelabelattrs=(color=black size=6);
referenceline y=-2 / lineattrs=(color=black pattern=shortdash) curvelabel="-1.96SD:#sd"
curvelabelposition=max curvelabellocation=outside curvelabelsplitchar='#'
curvelabelsplitchardrop=true curvelabelsplit=true curvelabelattrs=(color=black size=6);
discretelegend 'scatter' / opaque=false border=true halign=right valign=bottom
displayclipped=true across=1 order=rowmajor location=inside;
endlayout;
endgraph;
end;
run;
ods listing image_dpi=1200 gpath="c:\temp" style=mypng;
ods graphics on / reset=all imagename="test1" imagefmt=png width=690px height=480px noborder;
proc sgrender data=test template=sgdesign;
run;
quit;
ods listing close;
ods graphics off;
Hi @Minki
I can reproduce the behaviour you reported on my side but unfortunately I did not find a solution for you (using weight=bold, etc.).
You may want to discuss that one with your SAS Technical Support.
Sorry
Cheers,
Damo
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.