Dear Mike,
I really laughed. Many thanks. It's almost to late for me to really
understand the code now.
But some how you managed to throw in some stuff that can help:
you've made what I've wanted except for the dolphin.
I am sorry about the exagerating, but everybody here keep talking about this
young dolphin that keeps swimming around the reef here (I am in Eilat,
northren tip of Gulf of Aqaba).
Anyways, many thanks for you people trying to help.

Oz.

On Thu, Jul 17, 2008 at 12:12 AM, Michael Droettboom <[EMAIL PROTECTED]>
wrote:

> Oz Nahum wrote:
>
>> I am mostly frustrated with documentation writers who write very nice
>> tutorials describing how to plot completely unusfull graphs of spheres
>> inside loops and a dolphin swimming in the middle.
>>
> I'm sorry.  I just couldn't resist writing a tutorial example for this.
>  Please take it in the spirit of fun it was intended.
>
> Mike
>
> --
> Michael Droettboom
> Science Software Branch
> Operations and Engineering Division
> Space Telescope Science Institute
> Operated by AURA for NASA
>
>
> import matplotlib.pyplot as plt
> from matplotlib.patches import Circle, PathPatch
> from matplotlib.path import Path
> from matplotlib.transforms import Affine2D
> import numpy as np
>
> r = np.random.rand(50)
> t = np.random.rand(50) * np.pi * 2.0
> x = r * np.cos(t)
> y = r * np.sin(t)
>
> fig = plt.figure(figsize=(6,6))
> ax = plt.subplot(111)
> circle = Circle((0, 0), 1, facecolor=(0,0,0.8),
>                edgecolor=(0,0.8,0.8), linewidth=3, alpha=0.5)
> ax.add_patch(circle)
>
> plt.plot(x, y, 'o', color=(0.9, 0.9, 1.0), alpha=0.8)
>
> # Dolphin from OpenClipart library by Andy Fitzsimon
> #       <cc:License rdf:about="http://web.resource.org/cc/PublicDomain";>
> #         <cc:permits rdf:resource="
> http://web.resource.org/cc/Reproduction"/>
> #         <cc:permits rdf:resource="
> http://web.resource.org/cc/Distribution"/>
> #         <cc:permits rdf:resource="
> http://web.resource.org/cc/DerivativeWorks"/>
> #       </cc:License>
>
> dolphin = """
> M -0.59739425,160.18173 C -0.62740401,160.18885 -0.57867129,160.11183
> -0.57867129,160.11183 C -0.57867129,160.11183 -0.5438361,159.89315
> -0.39514638,159.81496 C -0.24645668,159.73678 -0.18316813,159.71981
> -0.18316813,159.71981 C -0.18316813,159.71981 -0.10322971,159.58124
> -0.057804323,159.58725 C -0.029723983,159.58913 -0.061841603,159.60356
> -0.071265813,159.62815 C -0.080250183,159.65325 -0.082918513,159.70554
> -0.061841203,159.71248 C -0.040763903,159.7194 -0.0066711426,159.71091
> 0.077336307,159.73612 C 0.16879567,159.76377 0.28380306,159.86448
> 0.31516668,159.91533 C 0.3465303,159.96618 0.5011127,160.1771
> 0.5011127,160.1771 C 0.63668998,160.19238 0.67763022,160.31259
> 0.66556395,160.32668 C 0.65339985,160.34212 0.66350443,160.33642
> 0.64907098,160.33088 C 0.63463742,160.32533 0.61309688,160.297
> 0.5789627,160.29339 C 0.54348657,160.28968 0.52329693,160.27674
> 0.50728856,160.27737 C 0.49060916,160.27795 0.48965803,160.31565
> 0.46114204,160.33673 C 0.43329696,160.35786 0.4570711,160.39871
> 0.43309565,160.40685 C 0.4105108,160.41442 0.39416631,160.33027
> 0.3954995,160.2935 C 0.39683269,160.25672 0.43807996,160.21522
> 0.44567915,160.19734 C 0.45327833,160.17946 0.27946869,159.9424
> -0.061852613,159.99845 C -0.083965233,160.0427 -0.26176109,160.06683
> -0.26176109,160.06683 C -0.30127962,160.07028 -0.21167141,160.09731
> -0.24649368,160.1011 C -0.32642366,160.11569 -0.34521187,160.06895
> -0.40622293,160.0819 C -0.467234,160.09485 -0.56738444,160.17461
> -0.59739425,160.18173
> """
>
> vertices = []
> codes = []
> parts = dolphin.split()
> i = 0
> code_map = {
>    'M': (Path.MOVETO, 1),
>    'C': (Path.CURVE4, 3),
>    'L': (Path.LINETO, 1)
>    }
>
> while i < len(parts):
>    code = parts[i]
>    path_code, npoints = code_map[code]
>    codes.extend([path_code] * npoints)
>    vertices.extend([[float(x) for x in y.split(',')] for y in
> parts[i+1:i+npoints+1]])
>    i += npoints + 1
> vertices = np.array(vertices, np.float)
> vertices[:,1] -= 160
>
> dolphin_path = Path(vertices, codes)
> dolphin_patch = PathPatch(dolphin_path, facecolor=(0.6, 0.6, 0.6),
>                          edgecolor=(0.0, 0.0, 0.0))
> ax.add_patch(dolphin_patch)
>
> vertices = Affine2D().rotate_deg(60).transform(vertices)
> dolphin_path2 = Path(vertices, codes)
> dolphin_patch2 = PathPatch(dolphin_path2, facecolor=(0.5, 0.5, 0.5),
>                           edgecolor=(0.0, 0.0, 0.0))
> ax.add_patch(dolphin_patch2)
>
> plt.show()
>
>
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to