Dear all,
Is it possible to make the bubbles 3D
here the code:
*create mapdata;
proc sql;
create table germany as select a.*, b.id1name from mapsgfk.germany a natural join mapsgfk.germany_attr b
where a.id = b.id;
quit;
proc gremove data=germany out=germany_gremove;
by id1;
id id;
run;
*create Map;
proc sgmap mapdata=germany_gremove maprespdata=respdata plotdata=respdata noautolegend; openstreetmap; choromap id1/ mapid=id1 id=id1 name="choro" lineattrs=(thickness=1 color=graybb); bubble x=longc y=latc size= no_of_cases / bradiusmin=3px bradiusmax=8px fill fillattrs=(color=darkred) outline name="bubl"; Keylegend "bubl";
run;
For some plot statement an option called DATASKIN is available to achieve 3D effect on the plot. See https://go.documentation.sas.com/doc/en/pgmsascdc/9.4_3.5/grstatproc/n1bzuy9irdjkujn1d4bfpxfmc7rs.ht... for more information.
Unfortunately the BUBBLE statement in Proc SGMAP does not support this option.
However you can create your own style that defines a data skin. See this example:
/*
* define a location where to add new "things" defined with Proc TEMPLATE
* and where to look first for "Things"
*/
ods path
(prepend) work.mytemplates (update)
;
/*
* create a new style based on htmlblue
*/
proc template;
define style myhtmlblue;
parent=styles.htmlblue;
class GraphSkins /
DataSkin = "Gloss"
;
end;
run;
/*
* create the output using the specific style
*/
ods html5 file="c:\temp\sgmap.html" style=myhtmlblue options(bitmap_mode='inline');
proc sgmap mapdata=germany_gremove maprespdata=respdata plotdata=respdata noautolegend;
openstreetmap;
choromap id1/ mapid=id1 id=id1 name="choro" lineattrs=(thickness=1 color=graybb);
bubble x=longc y=latc size= no_of_cases / bradiusmin=3px bradiusmax=12px fill fillattrs=(color=darkred) outline name="bubl"
;
Keylegend "bubl";
run;
ods html5 close;
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
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.