|
From: <ai...@us...> - 2008-08-15 00:30:20
|
Revision: 8660
http://plplot.svn.sourceforge.net/plplot/?rev=8660&view=rev
Author: airwin
Date: 2008-08-15 00:30:29 +0000 (Fri, 15 Aug 2008)
Log Message:
-----------
AWI for Hezekiah M. Carty. Add 10th, 12th, and 13th standard examples.
Their results agree exactly with the corresponding C results.
Modified Paths:
--------------
trunk/examples/ocaml/CMakeLists.txt
trunk/examples/ocaml/Makefile.examples.in
trunk/plplot_test/test_ocaml.sh.in
Added Paths:
-----------
trunk/examples/ocaml/x10.ml
trunk/examples/ocaml/x12.ml
trunk/examples/ocaml/x13.ml
Modified: trunk/examples/ocaml/CMakeLists.txt
===================================================================
--- trunk/examples/ocaml/CMakeLists.txt 2008-08-15 00:28:15 UTC (rev 8659)
+++ trunk/examples/ocaml/CMakeLists.txt 2008-08-15 00:30:29 UTC (rev 8660)
@@ -29,7 +29,10 @@
"06"
"07"
"08"
+ "10"
"11"
+ "12"
+ "13"
"19"
)
Modified: trunk/examples/ocaml/Makefile.examples.in
===================================================================
--- trunk/examples/ocaml/Makefile.examples.in 2008-08-15 00:28:15 UTC (rev 8659)
+++ trunk/examples/ocaml/Makefile.examples.in 2008-08-15 00:30:29 UTC (rev 8660)
@@ -36,7 +36,10 @@
x06$(EXEEXT) \
x07$(EXEEXT) \
x08$(EXEEXT) \
+ x10$(EXEEXT) \
x11$(EXEEXT) \
+ x12$(EXEEXT) \
+ x13$(EXEEXT) \
x19$(EXEEXT) \
all: $(EXECUTABLES_list)
Added: trunk/examples/ocaml/x10.ml
===================================================================
--- trunk/examples/ocaml/x10.ml (rev 0)
+++ trunk/examples/ocaml/x10.ml 2008-08-15 00:30:29 UTC (rev 8660)
@@ -0,0 +1,28 @@
+(* $Id$
+
+ Window positioning demo.
+*)
+
+open Plplot
+
+(*--------------------------------------------------------------------------*\
+ * Demonstrates absolute positioning of graphs on a page.
+\*--------------------------------------------------------------------------*)
+let () =
+ (* Parse and process command line arguments *)
+ ignore (plparseopts Sys.argv [|PL_PARSE_FULL|]);
+
+ (* Initialize plplot *)
+ plinit ();
+
+ pladv 0;
+ plvpor 0.0 1.0 0.0 1.0;
+ plwind 0.0 1.0 0.0 1.0;
+ plbox "bc" 0.0 0 "bc" 0.0 0;
+
+ plsvpa 50.0 150.0 50.0 100.0;
+ plwind 0.0 1.0 0.0 1.0;
+ plbox "bc" 0.0 0 "bc" 0.0 0;
+ plptex 0.5 0.5 1.0 0.0 0.5 "BOX at (50,150,50,100)";
+ plend ();
+ ()
Property changes on: trunk/examples/ocaml/x10.ml
___________________________________________________________________
Added: svn:eol-style
+ native
Added: trunk/examples/ocaml/x12.ml
===================================================================
--- trunk/examples/ocaml/x12.ml (rev 0)
+++ trunk/examples/ocaml/x12.ml 2008-08-15 00:30:29 UTC (rev 8660)
@@ -0,0 +1,50 @@
+(* $Id$
+ Bar chart demo.
+*)
+
+open Plplot
+
+let plfbox x0 y0 =
+ let x = [|x0; x0; x0 +. 1.0; x0 +. 1.0|] in
+ let y = [|0.0; y0; y0; 0.0|] in
+ plfill x y;
+ plcol0 1;
+ pllsty 1;
+ plline x y;
+ ()
+
+(*--------------------------------------------------------------------------*\
+ * Does a simple bar chart, using color fill. If color fill is
+ * unavailable, pattern fill is used instead (automatic).
+\*--------------------------------------------------------------------------*)
+
+let () =
+ (* Parse and process command line arguments *)
+ ignore (plparseopts Sys.argv [|PL_PARSE_FULL|]);
+
+ (* Initialize plplot *)
+ plinit ();
+
+ pladv 0;
+ plvsta ();
+ plwind 1980.0 1990.0 0.0 35.0;
+ plbox "bc" 1.0 0 "bcnv" 10.0 0;
+ plcol0 2;
+ pllab "Year" "Widget Sales (millions)" "#frPLplot Example 12";
+
+ let y0 = [|5.0; 15.0; 12.0; 24.0; 28.0; 30.0; 20.0; 8.0; 12.0; 3.0|] in
+
+ for i = 0 to 9 do
+ plcol0 (i + 1);
+ plpsty 0;
+ plfbox (1980.0 +. float_of_int i) y0.(i);
+ let text = Printf.sprintf "%.0f" y0.(i) in
+ plptex (1980.0 +. float_of_int i +. 0.5) (y0.(i) +. 1.0) 1.0 0.0 0.5 text;
+ let text = string_of_int (1980 + i) in
+ plmtex "b" 1.0 (float_of_int (i + 1) *. 0.1 -. 0.05) 0.5 text;
+ done;
+
+ (* Don't forget to call plend() to finish off! *)
+ plend ();
+ ()
+
Property changes on: trunk/examples/ocaml/x12.ml
___________________________________________________________________
Added: svn:eol-style
+ native
Added: trunk/examples/ocaml/x13.ml
===================================================================
--- trunk/examples/ocaml/x13.ml (rev 0)
+++ trunk/examples/ocaml/x13.ml 2008-08-15 00:30:29 UTC (rev 8660)
@@ -0,0 +1,80 @@
+(* $Id$
+ Pie chart demo.
+*)
+
+open Plplot
+
+let pi = atan 1.0 *. 4.0
+
+let text = [|
+ "Maurice";
+ "Geoffrey";
+ "Alan";
+ "Rafael";
+ "Vince";
+|]
+
+(*--------------------------------------------------------------------------*\
+ * Does a simple pie chart.
+\*--------------------------------------------------------------------------*)
+
+let () =
+ let x = Array.make 500 0.0 in
+ let y = Array.make 500 0.0 in
+ let per = [|10.0; 32.0; 12.0; 30.0; 16.0|] in
+
+ (* Parse and process command line arguments *)
+ ignore (plparseopts Sys.argv [|PL_PARSE_FULL|]);
+
+ (* Initialize plplot *)
+ plinit ();
+
+ plenv 0.0 10.0 0.0 10.0 1 (-2);
+ plcol0 2;
+ (* All theta quantities scaled by 2*M_PI/500 to be integers to avoid
+ floating point logic problems. *)
+ let theta0 = ref 0 in
+ for i = 0 to 4 do
+ let j = ref 0 in
+ x.(!j) <- 5.0;
+ y.(!j) <- 5.0;
+ incr j;
+ (* Theta quantities multiplied by 2*M_PI/500 afterward so
+ in fact per is interpreted as a percentage. *)
+ let theta1 =
+ if i = 4 then
+ 500
+ else
+ int_of_float (float_of_int !theta0 +. 5.0 *. per.(i))
+ in
+ for theta = !theta0 to theta1 do
+ x.(!j) <- 5.0 +. 3.0 *. cos ((2.0 *. pi /. 500.0) *. float_of_int theta);
+ y.(!j) <- 5.0 +. 3.0 *. sin ((2.0 *. pi /. 500.0) *. float_of_int theta);
+ incr j;
+ done;
+ let x' = Array.sub x 0 !j in
+ let y' = Array.sub y 0 !j in
+ plcol0 (i + 1);
+ plpsty ((i + 3) mod 8 + 1);
+ plfill x' y';
+ plcol0 1;
+ plline x' y';
+ let just = (2.0 *. pi /. 500.0) *. float_of_int (!theta0 + theta1) /. 2.0 in
+ let dx = 0.25 *. cos just in
+ let dy = 0.25 *. sin just in
+ let just =
+ if (!theta0 + theta1 < 250 || !theta0 + theta1 > 750) then
+ 0.0
+ else
+ 1.0
+ in
+ plptex (x.(!j / 2) +. dx) (y.(!j / 2) +. dy) 1.0 0.0 just text.(i);
+ theta0 := theta1;
+ done;
+ plfont 2;
+ plschr 0.0 1.3;
+ plptex 5.0 9.0 1.0 0.0 0.5 "Percentage of Sales";
+
+ (* Don't forget to call PLEND to finish off! *)
+ plend ();
+ ()
Property changes on: trunk/examples/ocaml/x13.ml
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/plplot_test/test_ocaml.sh.in
===================================================================
--- trunk/plplot_test/test_ocaml.sh.in 2008-08-15 00:28:15 UTC (rev 8659)
+++ trunk/plplot_test/test_ocaml.sh.in 2008-08-15 00:30:29 UTC (rev 8660)
@@ -23,7 +23,7 @@
# $options, and possibly $verbose_test defined.
# Do the standard non-interactive examples.
-for index in 01 02 03 04 05 06 07 08 11 19; do
+for index in 01 02 03 04 05 06 07 08 10 11 12 13 19; do
if [ "$verbose_test" ]; then
echo "x${index}ocaml"
fi
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|