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
Don’t miss the livestream kicking off May 7. It’s free. It’s easy. And it’s the best seat in the house.
Join us virtually with our complimentary SAS Innovate Digital Pass. Watch live or on-demand in multiple languages, with translations available to help you get the most out of every session.
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.