Data visualization with SAS programming

ODS graphics, 3D surface plot , OVERLAY3D: vertical axis range

Reply
Frequent Contributor
Posts: 77

ODS graphics, 3D surface plot , OVERLAY3D: vertical axis range

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.
SAS Employee
Posts: 24

Re: ODS graphics, 3D surface plot , OVERLAY3D: vertical axis range

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.
Frequent Contributor
Posts: 77

Re: ODS graphics, 3D surface plot , OVERLAY3D: vertical axis range

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.
SAS Employee
Posts: 24

Re: ODS graphics, 3D surface plot , OVERLAY3D: vertical axis range

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.
Frequent Contributor
Posts: 77

Re: ODS graphics, 3D surface plot , OVERLAY3D: vertical axis range

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?
SAS Super FREQ
Posts: 925

Re: ODS graphics, 3D surface plot , OVERLAY3D: vertical axis range

I believe the axis statement support works only for client-based devices (activex, actximg, java, javaimg).

Dan
Frequent Contributor
Posts: 77

Re: ODS graphics, 3D surface plot , OVERLAY3D: vertical axis range

Thanks, Dan. That's exactly right:

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

Restriction: Partially supported by Java and ActiveX only


Hmmmm...
SAS Super FREQ
Posts: 925

Re: ODS graphics, 3D surface plot , OVERLAY3D: vertical axis range

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
Frequent Contributor
Posts: 77

Re: ODS graphics, 3D surface plot , OVERLAY3D: vertical axis range

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.
SAS Super FREQ
Posts: 925

Re: ODS graphics, 3D surface plot , OVERLAY3D: vertical axis range

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
Frequent Contributor
Posts: 77

Re: ODS graphics, 3D surface plot , OVERLAY3D: vertical axis range

Thanks, Dan!
Ask a Question
Discussion stats
  • 10 replies
  • 800 views
  • 0 likes
  • 3 in conversation