1. This is dataplot macro SIMPLEX.DP 2. 3. Purpose--Generate a mixture experiment simplex triangular grid. 4. Display the grid. 5. Display superimposed data. 6. 7. Date --December 1996 8. 9. Input --the following items must pre-exist: 10. 1. Y = the response variable 11. 2. X1 = the proportion of element 1 (0 to 1) 12. 3. X2 = the proportion of element 2 (0 to 1) 13. 4. X3 = the proportion of element 3 (0 to 1) 14. 5. S1 = the name of element 1 (a string) 15. 6. S2 = the name of element 2 (a string) 16. 7. S3 = the name of element 3 (a string) 17. 18. Output --a triangular simplex grid 19. with the data points superimposed 20. 21. Example--SKIP 25 22. READ PUNCH.DAT Y W P O 23. LET X1 = (W-30)/70 24. LET X2 = P/70 25. LET X3 = O/70 26. LET STRING S1 = Watermelon 27. LET STRING S2 = Pineapple 28. LET STRING S3 = Orange 29. CALL SIMPLEX.DP 30. 31. -----START POINT----- 32. 33FEEDBACK OFF 34ERASE 35. 36. ----Step 1--Define horizontal and vertical percentage units----- 37. for the landscape orientation image 38. 39LET PXMIN = 20 40LET PXMAX = 80 41LET PYMIN = 18 42LET PYMAX = 88 43. 44LET PXRANGE = PXMAX-PXMIN 45LET PYRANGE = PYMAX-PYMIN 46. 47. ----Step 2--Define the desired increment (in 0 to 1 units)----- 48. for grid lines on each of the 3 axes 49. 50. LET INC = .10 51LET INC = 1 52 53. 54. ----Step 3--Generate the grid----- 55. 56LOOP FOR XDUMMY = 0 INC 1 57 LET PXSTART = PXMIN + 0.5*PXRANGE*XDUMMY 58 LET PYSTART = PYMIN + PYRANGE*XDUMMY 59 LET PXSTOP = PXMAX - (PXSTART-PXMIN) 60 LET PYSTOP = PYSTART 61 DRAW PXSTART PYSTART PXSTOP PYSTOP 62END LOOP 63. 64LOOP FOR XDUMMY = 0 INC 1 65 LET PXSTART = PXMAX - PXRANGE*XDUMMY 66 LET PYSTART = PYMIN 67 LET PXSTOP = PXSTART - 0.5*PXRANGE*(1-XDUMMY) 68 LET PYSTOP = PYSTART + PYRANGE*(1-XDUMMY) 69 DRAW PXSTART PYSTART PXSTOP PYSTOP 70END LOOP 71. 72LOOP FOR XDUMMY = 0 INC 1 73 LET PXSTART = PXMIN + PXRANGE*XDUMMY 74 LET PYSTART = PYMIN 75 LET PXSTOP = PXSTART + 0.5*PXRANGE*(1-XDUMMY) 76 LET PYSTOP = PYSTART + PYRANGE*(1-XDUMMY) 77 DRAW PXSTART PYSTART PXSTOP PYSTOP 78END LOOP 79. 80. ----Step 4--Annotate the plot----- 81. 82HW 2 1 83JUSTIFICATION CENTER 84. 85LET PXHALF = (PXMIN+PXMAX)/2 86LET PYTHIRD = PYMIN + (PYMAX-PYMIN)/3 87LET PXMINM = PXMIN-5 88LET PXMAXP = PXMAX+5 89LET PYMINM = PYMIN-4 90LET PYMINM2 = PYMIN-7 91LET PYMAXP = PYMAX+3 92LET PYMAXP2 = PYMAX+6 93. 94MOVE PXHALF PYMAXP2; TEXT X1 = 1 95MOVE PXHALF PYMAXP; TEXT ^S1 96MOVE PXMINM PYMINM; TEXT X2 = 1 97MOVE PXMINM PYMINM2; TEXT ^S2 98MOVE PXMAXP PYMINM; TEXT X3 = 1 99MOVE PXMAXP PYMINM2; TEXT ^S3 100. 101. ----Step 5--Superimpose the Design Points----- 102. 103LET K2 = SQRT(2) 104LET K6 = SQRT(6) 105. 106FILL ON 107JUSTIFICATION LEFT 108. 109LET N = NUMBER Y 110LOOP FOR K = 1 1 N 111 LET YK = Y(K) 112 LET X1K = X1(K) 113 LET X2K = X2(K) 114 LET X3K = X3(K) 115 . 116 LET H = (1/K2) * (X3K - X2K) 117 LET V = (1/K6) * (2 - 3*X2K - 3*X3K) 118 . 119 LET PX = PXHALF + ((PXRANGE)/(2/K2)) * H 120 LET PY = PYTHIRD + ((PYRANGE)/(3/K6)) * V 121 . 122 MOVE PX PY 123 JUSTIFICATION CECE 124 FONT SIMPLEX 125 HW 1 0.75 126 TEXT CIRC() 127 FONT TEKTRONIX 128 HW 129 . 130 MOVE PX PY 131 JUSTIFICATION LECE 132 TEXT ^YK 133END LOOP 134. 135MOVE 90 3 136HW 1 .5 137JUST LEFT 138TEXT SIMPLEX.DP 139. 140FEEDBACK ON 141