BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
guyvdboer
Calcite | Level 5

hello all,

I would like to visualize in an activx object (in 3d) the clusters of objects (result of proc prinqual and proc fastclus).

in the graph i would like to show as tooltip not the (default) 3 coordinates but some descriptive elements of the object e.g. name, city...

the HTML= options does not work with proc g3d?

 

this is the code i tried so far...(without and with annote dataset)

 


data data2;
set data1;
length tips $ 100;
tips = 'TITLE="Hosp: ' || trim(NameHospital) || '0D'X ||
City: ' || trim(city) || '"';
run;
data anno;
set data2;
x=dim1; y=dim2; z=dim3;
length function $10 html $ 100;
function='LABEL';
html = 'TITLE="Hosp: ' || trim(NameHospital) || '0D'X ||
City: ' || trim(city) || '"';
text = html ; 
run;

options device = activex;
ods html body = 'C:\temp\SAS_tmp\VZN_threeD.html' ;
ods graphics on / imagemap=on;

proc g3d data = data2 ;
scatter dim2 * dim1 = dim3 / grid noneedle shape="balloon" size=2; * html=tips;
run;
quit;
proc g3d data = data2 ;
scatter dim2 * dim1 = dim3 / ANNO=anno grid noneedle shape="balloon" size=2;
run;
quit;

goptions reset = all;
ods html close;
ods listing;

 

 

the tooltips remain unchanged...

tooltip_g3d.png

thanks for any suggestion or advice !

greetings,

Guy

1 ACCEPTED SOLUTION

Accepted Solutions
ChrisNZ
Tourmaline | Level 20

From http://support.sas.com/documentation/cdl/en/graphref/67881/HTML/default/viewer.htm#n0oosn0ji26n6an18...

 

The ACTIVEX and ACTXIMG devices do not display custom data tips when the number of observations exceeds 5000.                  

 

Are you in this situation?

View solution in original post

4 REPLIES 4
ChrisNZ
Tourmaline | Level 20

From http://support.sas.com/documentation/cdl/en/graphref/67881/HTML/default/viewer.htm#n0oosn0ji26n6an18...

 

The ACTIVEX and ACTXIMG devices do not display custom data tips when the number of observations exceeds 5000.                  

 

Are you in this situation?

ChrisNZ
Tourmaline | Level 20

ActiveX doesn't seem too keen on tooltips for 3D plots.

 

Here is a test using ActiveX and GIF drivers, and using proc GPLOT and proc G3D.

 

Tooltips show for 3 graphs, but not ActiveX + G3D.

 

Note that you must draw an area in ANNOTATE for the tooltips to appear. I made the areas visible (red rectangles) in this example, but you can hide them using

 

WHEN 'B' COLOR 'white';

Here is the example:

 


proc g3grid data= SASHELP.CLASS out=GRID;
  grid WEIGHT*HEIGHT=AGE;
run;

data PLOT; 
  set GRID;  
  HTML  =catt('title="Tooltip1 Y=',WEIGHT,' X=',HEIGHT,' Z=',AGE,'"');
  AGE   =round(AGE);
  HEIGHT=round(HEIGHT);
  WEIGHT=round(WEIGHT);
run;
data ANNO; 
  set PLOT; 
  retain XSYS YSYS ZSYS '2' WHEN 'A' COLOR 'red';
  FUNCTION='move'; Y=WEIGHT; X=HEIGHT; Z=AGE; 
  output; 
  FUNCTION='bar'; X+1; Y+1; Z+.1; HTML=catt('title="Tooltip2 X=',X,' Y=',Y,' Z=',Z,'"');
  output;
run;

symbol1 v=dot h=1;
symbol2 v=dot h=1;
symbol3 v=dot h=1;
symbol4 v=dot h=1;
symbol5 v=dot h=1;

ods html file="%sysfunc(pathname(WORK))\test.html" gpath='.';
goptions dev=activex;
proc gplot data=PLOT; plot WEIGHT*HEIGHT=AGE /html=HTML;run; 
proc g3d   data=PLOT; plot WEIGHT*HEIGHT=AGE ;run;

proc gplot data=PLOT anno=ANNO; plot WEIGHT*HEIGHT=AGE ;run;  
proc g3d   data=PLOT anno=ANNO; plot WEIGHT*HEIGHT=AGE ;run;

goptions dev=gif;
proc gplot data=PLOT; plot WEIGHT*HEIGHT=AGE /html=HTML name='u1';run; 
proc g3d   data=PLOT; plot WEIGHT*HEIGHT=AGE /          name='u2';run;

proc gplot data=PLOT anno=ANNO; plot WEIGHT*HEIGHT=AGE /name='u3';run;  
proc g3d   data=PLOT anno=ANNO; plot WEIGHT*HEIGHT=AGE /name='u4';run;
ods html close;

 

aaa1.PNG

 

 

 

 

 

 

 

 

 

 

guyvdboer
Calcite | Level 5
hi Chris,
thanks, gonna try this !
Guy
guyvdboer
Calcite | Level 5

hi Chris,

no less than 500

thanks!

Guy

SAS INNOVATE 2024

Innovate_SAS_Blue.png

Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.

If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website. 

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.

Get the $99 certification deal.jpg

 

 

Back in the Classroom!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 4 replies
  • 1109 views
  • 0 likes
  • 2 in conversation