BookmarkSubscribeRSS Feed
statsplank
Calcite | Level 5
Hello,

I'd appreciate it if somebody could tell me how I can control the range of values for the z-axis when I produce a surface plot with ODS GRAPHICS proc template's layout overlay3d?

I am creating two surface plots, one for each treatment group, and it is important that the axes represent the same range of values for the two groups.

Thank you.
10 REPLIES 10
PrashantH_sas
SAS Employee
Hi,

Currently, GTL-based ods graphics does not have options to control 3D axis ranges.

Depending on your usage, you could overlay the two surfaces and use datatransparency= to help view two surfaces if they overlap. Using surfaceType=wireframe would be the other way to view both surfaces inside the same overlay3D layout.

With Regards,
-Prashant.
statsplank
Calcite | Level 5
Thank you for replying, Prashant.

Proc G3D allows specifying the zmin and zmax values, and this is what I've used to force the vertical axes be the same in the two surface plots.
PrashantH_sas
SAS Employee
Hi,

If this is a feature you would like to see in a future release, you can request that it be put on the SAS Ballot. See:
http://support.sas.com/contact/software_comments.html

Then it will be evaluated as per our ballot process.

With Regards,
-Prashant.
statsplank
Calcite | Level 5
Thank you, Prashant. I'll consider putting it on the ballot.

Re: proc G3D. In documentation it says that proc G3D allows specifying axes via the vaxis=, xaxis, and yaxis= options. It seems not working... I was able to change the overall appearance of the axes with the goptions statement but could not apply the axis1, axis2, axis3 statements (vaxis=axis1 xaxis=axis2 yaxis=axis3 had no effect).

Is there something that I should know about vaxis=, xaxis=, and yaxis= options when used in proc G3D?
DanH_sas
SAS Super FREQ
I believe the axis statement support works only for client-based devices (activex, actximg, java, javaimg).

Dan
statsplank
Calcite | Level 5
Thanks, Dan. That's exactly right:

XAXIS= AXIS<1...<99>
assigns an axis definition.

Restriction: Partially supported by Java and ActiveX only


Hmmmm...
DanH_sas
SAS Super FREQ
One other comment:

If you are creating surface plots, and you are running on a Windows system, I would highly recommend that you use the ACTIVEX or ACTXIMG devices with PROC G3D. The surfaces will look very nice, and you have a choice of surface style, anything from wireframe to smooth gradients. You can even project a contour above or below the surface. If you have any questions about the options to make that happen, just post your question here and I'll post the available options.

Thanks!
Dan
statsplank
Calcite | Level 5
Thank you, Dan!

Yes, if possible, could you please post a sample code for a 3D surface and a contour above or below the surface? I've never used ACTIVEX or ACTXIMG... I am running on Windows.
DanH_sas
SAS Super FREQ
Here is a little example:
[pre]
goptions dev=actximg;
ods html file="lake.html";
proc g3d data=sashelp.lake;
plot length*width=depth / contour=1 style=4;
run;
ods html close;
[/pre]

Some options for you to try are the following:
1. style -- 1=one-color smooth (default), 2=wireframe, 3=filled levels, 4=smooth filled levels.
2. contour -- 1=bottom, 2=top -- works best with style=4
3. xytype -- 1=surface grid lines run parallel with the X axis, 2=surface grid lines run parallel with the Y axis, 3=grid lines in both directions.

You can also use the goptions colors=() list to control the number of color levels shown in style 3 and 4 surfaces.

Let me know if you have any other questions.

Thanks!
Dan

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

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

View all other training opportunities.

Discussion stats
  • 10 replies
  • 2286 views
  • 0 likes
  • 3 in conversation