How can I specify colors for the 3D surface plot based on response values ? I want same colour to appear if the values are in the same range, for multiple graphs.
my code is :
ods _all_ close;
ods html file="/home/a.g/created for HTML output/new.htm";
/* Set the DEVICE on the GOPTIONS statement */
/* to ACTIVEX. */
goptions reset=all device=activex
border xpixels=600 ypixels=400
cback=white;
Data surface_data;
input longitude latitude yield;
datalines;
10 1 5
10 2 5
10 3 5
10 4 5
10 5 5
10 6 0
10 7 0
10 8 0
10 9 0
9 1 5
9 2 5
9 3 5
9 4 5
9 5 5
9 6 0
9 7 0
9 8 0
9 9 0
8 1 5
8 2 5
8 3 5
8 4 5
8 5 5
8 6 0
8 7 0
8 8 0
8 9 0
7 1 5
7 2 5
7 3 5
7 4 5
7 5 5
7 6 0
7 7 0
7 8 0
7 9 0
6 1 5
6 2 5
6 3 5
6 4 5
6 5 5
6 6 0
6 7 0
6 8 0
6 9 0
5 1 10
5 2 10
5 3 10
5 4 10
5 5 10
5 6 20
5 7 20
5 8 20
5 9 20
4 1 10
4 2 10
4 3 10
4 4 10
4 5 10
4 6 20
4 7 20
4 8 20
4 9 20
3 1 10
3 2 10
3 3 10
3 4 10
3 5 10
3 6 20
3 7 20
3 8 20
3 9 20
2 1 10
2 2 10
2 3 10
2 4 10
2 5 10
2 6 20
2 7 20
2 8 20
2 9 20
1 1 10
1 2 10
1 3 10
1 4 10
1 5 10
1 6 20
1 7 20
1 8 20
1 9 20
;
title1 "North America Elevation Contour Map";
title2 "Use 'Right-Mouse -> Graph Toolbar' to enable rotate mode";
goptions colors = ( blueviolet blue aquamarine green yellow orangered red );
proc g3d data=surface_data;
plot latitude*longitude=yield /
style=4 contour=1 grid
des='' name="&name";
run;
quit;
ODS HTML CLOSE;
ODS LISTING;
One way is to adapt the number of colours to the range of your data.
data SURFACE_DATA;
set SURFACE_DATA;
YIELD2=YIELD*2;
run;
axis order=(0 to 50 by 5);
goptions colors = ( blueviolet blue aquamarine green);
proc g3d data=SURFACE_DATA ;
plot LATITUDE*LONGITUDE=YIELD / style=4 contour=1 grid zaxis=axis1;
run;
goptions colors = ( blueviolet blue aquamarine green yellow orangered red );
proc g3d data=SURFACE_DATA;
plot LATITUDE*LONGITUDE=YIELD2 / style=4 contour=1 grid zaxis=axis1;
run;
Save $250 on SAS Innovate and get a free advance copy of the new SAS For Dummies book! Use the code "SASforDummies" to register. Don't miss out, May 6-9, in Orlando, Florida.
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.