BookmarkSubscribeRSS Feed
Anita_n
Pyrite | Level 9

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;

 

 

1 REPLY 1
BrunoMueller
SAS Super FREQ

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;

 

sas-innovate-wordmark-2025-midnight.png

Register Today!

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.


Register now!

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 466 views
  • 1 like
  • 2 in conversation