Revision: 8224
http://plplot.svn.sourceforge.net/plplot/?rev=8224&view=rev
Author: andrewross
Date: 2008-02-07 08:18:26 -0800 (Thu, 07 Feb 2008)
Log Message:
-----------
Add python version of example 30.
Modified Paths:
--------------
trunk/examples/python/CMakeLists.txt
trunk/test/test_python.sh.in
Added Paths:
-----------
trunk/examples/python/x30
trunk/examples/python/xw30.py
Modified: trunk/examples/python/CMakeLists.txt
===================================================================
--- trunk/examples/python/CMakeLists.txt 2008-02-07 15:34:12 UTC (rev 8223)
+++ trunk/examples/python/CMakeLists.txt 2008-02-07 16:18:26 UTC (rev 8224)
@@ -45,6 +45,7 @@
"26"
"28"
"29"
+"30"
)
set(python_SCRIPTS)
Added: trunk/examples/python/x30
===================================================================
--- trunk/examples/python/x30 (rev 0)
+++ trunk/examples/python/x30 2008-02-07 16:18:26 UTC (rev 8224)
@@ -0,0 +1,38 @@
+#!/usr/bin/env python
+
+# Copyright (C) 2008 Andrew Ross
+#
+# This file is part of PLplot.
+#
+# PLplot is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Library General Public License as published
+# by the Free Software Foundation; version 2 of the License.
+#
+# 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 the file PLplot; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+
+# Run all python plplot examples non-interactively.
+
+# Append to effective python path so that can find plplot modules.
+from plplot_python_start import *
+
+import sys
+from plplot import *
+
+# Parse and process command line arguments
+plparseopts(sys.argv, PL_PARSE_FULL)
+
+# Initialize plplot
+plinit()
+
+import xw30
+
+# Terminate plplot
+plend()
Property changes on: trunk/examples/python/x30
___________________________________________________________________
Name: svn:executable
+ *
Added: trunk/examples/python/xw30.py
===================================================================
--- trunk/examples/python/xw30.py (rev 0)
+++ trunk/examples/python/xw30.py 2008-02-07 16:18:26 UTC (rev 8224)
@@ -0,0 +1,138 @@
+# $Id:$
+
+# Copyright (C) 2008 Hazen Babcock
+# Copyright (C) 2008 Andrew Ross
+
+# Alpha color values demonstration.
+#
+# 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
+#
+from plplot_py_demos import *
+
+red = array([ 0, 255, 0, 0])
+green = array([ 0, 0, 255, 0])
+blue = array([ 0, 0, 0, 255])
+alpha = array([1.0, 1.0, 1.0, 1.0])
+
+pos = array([0.0, 1.0])
+rcoord = array([1.0, 1.0])
+gcoord = array([0.0, 0.0])
+bcoord = array([0.0, 0.0])
+acoord = array([0.0, 1.0])
+rev = array([0, 0])
+
+def main():
+
+ px = array([0.1, 0.5, 0.5, 0.1])
+ py = array([0.1, 0.1, 0.5, 0.5])
+
+
+ plscmap0n (4)
+ plscmap0a (red, green, blue, alpha)
+
+ #
+ # Page 1:
+ #
+ # This is a series of red, green and blue rectangles overlaid
+ # on each other with gradually increasing transparency.
+
+
+ # Set up the window
+ pladv (0)
+ plvpor (0.0, 1.0, 0.0, 1.0)
+ plwind (0.0, 1.0, 0.0, 1.0)
+ plcol0 (0)
+ plbox ("", 1.0, 0, "", 1.0, 0)
+
+ # Draw the boxes
+ for i in range(9):
+ icol = i%3 + 1
+
+ # Get a color, change its transparency and
+ # set it as the current color.
+ rgba = plgcol0a (icol)
+ plscol0a (icol, rgba[0], rgba[1], rgba[2], 1.0 - float(i)/9.0)
+ plcol0 (icol)
+
+ # Draw the rectangle
+ plfill (px, py)
+
+ # Shift the rectangles coordinates
+ px += 0.5/9.0
+ py += 0.5/9.0
+
+ #
+ # Page 2:
+ #
+ # This is a bunch of boxes colored red, green or blue with a single
+ # large (red) box of linearly varying transparency overlaid. The
+ # overlaid box is completely transparent at the bottom and completely
+ # opaque at the top.
+
+
+ # Set up the window
+ pladv(0)
+ plvpor(0.1, 0.9, 0.1, 0.9)
+ plwind(0.0, 1.0, 0.0, 1.0)
+
+ # Draw the boxes. There are 25 of them drawn on a 5 x 5 grid.
+ for i in range(5):
+ # Set box X position
+ px[0] = 0.05 + 0.2 * i
+ px[1] = px[0] + 0.1
+ px[2] = px[1]
+ px[3] = px[0]
+
+ # We don't want the boxes to be transparent, so since we changed
+ # the colors transparencies in the first example we have to change
+ # the transparencies back to completely opaque.
+ icol = i%3 + 1
+ rgba = plgcol0a (icol)
+ plscol0a (icol, rgba[0], rgba[1], rgba[2], 1.0)
+ plcol0 (icol)
+ for j in range(5):
+ # Set box y position and draw the box.
+ py[0] = 0.05 + 0.2 * j
+ py[1] = py[0]
+ py[2] = py[0] + 0.1
+ py[3] = py[2]
+ plfill(px, py)
+
+ # The overlaid box is drawn using plshades with a color map that is
+ # the same color but has a linearly varying transparency.
+
+ # Create the color map with 128 colors and use plscmap1la to initialize
+ # the color values with a linear varying transparency (or alpha)
+ plscmap1n(128)
+ plscmap1la(1, pos, rcoord, gcoord, bcoord, acoord, rev)
+
+ # Create a 2 x 2 array that contains the z values (0.0 to 1.0) that will
+ # used for the shade plot. plshades will use linear interpolation to
+ # calculate the z values of all the intermediate points in this array.
+ z = reshape(zeros(2*2),(2,2))
+ z[0][1] = 1.0
+ z[1][1] = 1.0
+
+ # Set the color levels array. These levels are also between 0.0 and 1.0
+ clevel = 0.01*arange(101)
+
+ # Draw the shade plot with zmin = 0.0, zmax = 1.0 and x and y coordinate
+ # ranges such that it fills the entire plotting area.
+ plshades(z, 0.0, 1.0, 0.0, 1.0, clevel, 0, 1)
+
+
+main()
Property changes on: trunk/examples/python/xw30.py
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Modified: trunk/test/test_python.sh.in
===================================================================
--- trunk/test/test_python.sh.in 2008-02-07 15:34:12 UTC (rev 8223)
+++ trunk/test/test_python.sh.in 2008-02-07 16:18:26 UTC (rev 8224)
@@ -31,7 +31,7 @@
# Skip 21 if using Numeric - it doesn't work
# For 24 you need special fonts installed to get good result.
for index in 01 02 03 04 05 06 07 08 09 10 11 12 13 15 16 18 \
-20 22 23 24 25 26 28 29 @NUMPY_EXAMPLES@ ; do
+20 22 23 24 25 26 28 29 30 @NUMPY_EXAMPLES@ ; do
@PYTHON_EXECUTABLE@ $pythondir/x$index -dev $device -o ${OUTPUT_DIR}/x${index}p.$dsuffix $options 2> test.error
status_code=$?
cat test.error
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|