This library provides a simple interface for GNU/Octave use in Chicken, Gambit, and Bigloo Scheme systems. This library is meant to be used as a graph utility using the GNU/Octave interface to gnuplot. Comments and contributions are welcomed.
NEW! Version 0.6 now supports Bigloo.
NOTE This version works with GNU/Octave 2.x. Some functions are broken if you use it with GNU/Octave 3.x. Feel free to send me the patches for Octave 3 so I can add them here.
Here are some screenshots.
Download scheme code directly (version 0.6): octave.scm
tarball for Gambit and Bigloo (version 0.6): scheme-octave-0.6.tar.gz
Installation:With Chicken:
sudo chicken-setup octave
With Gambit:
tar zxvf scheme-octave-0.6.tar.gz cd octave makeUsage:
(load "octave.scm")
To start:
(octave:start)
To stop:
(octave:stop)
Examples:
(octave:start) (octave:version) (octave:plot '(1 2 3) '(3 2 1)) (octave:title "Simple plot") (octave:xlabel "xbar") (octave:ylabel "ybar") (octave:grid "on") (octave:grid "off") (octave:semilogx '(1 2 3) '(3 2 1)) (octave:title "SemilogX") (octave:semilogy '(1 2 3) '(3 2 1)) (octave:title "SemilogY") (octave:figure) (octave:loglog '(1 1.5 211.8) '(2 2.3 21.0) '(1 1.5 222.3) '(1.2 2.4 2222.0)) (octave:figure) (octave:polar (iota 50) (iota 50)) (octave:title "Rose") octave:supported-file-types ;;; to see supported file formats (octave:save-plot-to "png" "rose.png") (octave:figure) (octave:title "Bar") (octave:bar (iota 5) (iota 5)) (octave:figure) (octave:title "Mesh 3D") (octave:mesh (list (iota 4) (iota 4 2))) (octave:figure) (octave:title "ImageSC") (octave:imagesc (list (iota 4) (iota 4 2))) (octave:figure) (octave:title "Mesh XYZ") (octave:mesh-xyz (iota 3) (iota 2) (list (iota 3) (iota 3))) (octave:save-plot-to "postscript" "foo.ps") (octave:figure) (octave:title "Y Error bars") (octave:errorbar (list 1.1 2.1 3.1 4.1) (list 1.1 2.1 3.1 4.1) (list 2 3 4 3)) (octave:figure) (octave:title "Boxes Error bars") (octave:errorbar (list 1 2 3 4) (list 2 3 2 3) (list .1 .2 .2 .1) (list .1 .2 .2 .2) (list .2 .1 .2 .2) (list .4 .3 .2 .1) "'#~>'") (octave:stop)
GNU/Octave and gnuplot have to be installed.
With Chicken Scheme, the posix extension is needed:
(use posix)
This simple GNU/Octave interface has some limitations:
This library is released under the BSD license.
octave@carretechnologies.com