From: <sm...@us...> - 2009-02-09 23:22:51
|
Revision: 9482 http://plplot.svn.sourceforge.net/plplot/?rev=9482&view=rev Author: smekal Date: 2009-02-09 21:30:45 +0000 (Mon, 09 Feb 2009) Log Message: ----------- Initial commit of example 17. Runs but produces slightly different output. Modified Paths: -------------- trunk/examples/lua/CMakeLists.txt Added Paths: ----------- trunk/examples/lua/x17.lua Modified: trunk/examples/lua/CMakeLists.txt =================================================================== --- trunk/examples/lua/CMakeLists.txt 2009-02-09 21:27:53 UTC (rev 9481) +++ trunk/examples/lua/CMakeLists.txt 2009-02-09 21:30:45 UTC (rev 9482) @@ -34,6 +34,7 @@ "13" "15" "16" +"17" "18" "19" "22" Added: trunk/examples/lua/x17.lua =================================================================== --- trunk/examples/lua/x17.lua (rev 0) +++ trunk/examples/lua/x17.lua 2009-02-09 21:30:45 UTC (rev 9482) @@ -0,0 +1,118 @@ +--[[ $Id$ + + Plots a simple stripchart with four pens. + + Copyright (C) 2008 Werner Smekal + + This file is part of PLplot. + + PLplot is free software you can redistribute it and/or modify + it under the terms of the GNU General Library Public License as published + by the Free Software Foundation either version 2 of the License, or + (at your option) any later version. + + PLplot is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with PLplot if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +--]] + + +-- initialise Lua bindings for PLplot examples. +dofile("plplot_examples.lua") + + +-------------------------------------------------------------------------- +-- main +-------------------------------------------------------------------------- + +nsteps = 1000 +colline = {} +legline = {} + +-- plplot initialization +-- Parse and process command line arguments +pl.parseopts(arg, pl.PL_PARSE_FULL) + +-- User sets up plot completely except for window and data +-- Eventually settings in place when strip chart is created will be +-- remembered so that multiple strip charts can be used simultaneously. + +-- Specify some reasonable defaults for ymin and ymax +-- The plot will grow automatically if needed (but not shrink) +ymin = -0.1 +ymax = 0.1 + +-- Specify initial tmin and tmax -- this determines length of window. +-- Also specify maximum jump in t +-- This can accomodate adaptive timesteps +tmin = 0 +tmax = 10 +tjump = 0.3 -- percentage of plot to jump + +-- Axes options same as plbox. +-- Only automatic tick generation and label placement allowed +-- Eventually I'll make this fancier +colbox = 1 +collab = 3 +styline = { 2, 3, 4, 5 } -- line style +colline = { 2, 3, 4, 5 } -- pens color + +legline= { "sum", "sin", "sin*noi", "sin+noi" } -- pens legend + +xlab = 0 -- legend position +ylab = 0.25 + +autoy = 1 -- autoscale y +acc = 1 -- don't scrip, accumulate + +-- Initialize plplot +pl.init() + +pl.adv(0) +pl.vsta() + +id1 = pl.stripc("bcnst", "bcnstv", + tmin, tmax, tjump, ymin, ymax, + xlab, ylab, + autoy, acc, + colbox, collab, + colline, styline, legline, + "t", "", "Strip chart demo") + +autoy = 0 -- autoscale y +acc = 1 -- accumulate + +-- This is to represent a loop over time +-- Let's try a random walk process + +y1 = 0 +y2 = 0 +y3 = 0 +y4 = 0 +dt = 0.1 + +for n = 1, nsteps do + for i = 0, 200000 do end + t = (n-1) * dt + noise = pl.randd() - 0.5 + y1 = y1 + noise + y2 = math.sin(t*math.pi/18) + y3 = y2 * noise + y4 = y2 + noise/3 + + -- There is no need for all pens to have the same number of + -- points or beeing equally time spaced. + if math.mod(n, 2)~=0 then pl.stripa(id1, 0, t, y1) end + if math.mod(n, 3)~=0 then pl.stripa(id1, 1, t, y2) end + if math.mod(n, 4)~=0 then pl.stripa(id1, 2, t, y3) end + if math.mod(n, 5)~=0 then pl.stripa(id1, 3, t, y4) end +end + +-- Destroy strip chart and it's memory +pl.stripd(id1) +pl.plend() Property changes on: trunk/examples/lua/x17.lua ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |