Issue with linestyles and match_original in PatchCollection

Hi,

It seems that the match_original=True option in PatchCollection does not preserve line style. Is this deliberate? If not, here is a patch for collections.py:

Index: collections.py

···

===================================================================
--- collections.py (revision 8664)
+++ collections.py (working copy)
@@ -1041,6 +1041,7 @@
             facecolors = [determine_facecolor(p) for p in patches]
             edgecolors = [p.get_edgecolor() for p in patches]
             linewidths = [p.get_linewidth() for p in patches]
+ linestyles = [p.get_linestyle() for p in patches]
             antialiaseds = [p.get_antialiased() for p in patches]

             Collection.__init__(
@@ -1048,7 +1049,7 @@
                 edgecolors=edgecolors,
                 facecolors=facecolors,
                 linewidths=linewidths,
- linestyles='solid',
+ linestyles=linestyles,
                 antialiaseds = antialiaseds)
         else:
             Collection.__init__(self, **kwargs)

Cheers,

Tom

Hi,

It seems that the match_original=True option in PatchCollection does not preserve line style. Is this deliberate? If not, here is a patch for collections.py:

Thanks. I think your patch is fixing a genuine bug, so I applied it to the maintenance branch and the trunk, in 8675 and 8676.

Eric

···

On 08/27/2010 09:39 AM, Thomas Robitaille wrote:

Index: collections.py

--- collections.py (revision 8664)
+++ collections.py (working copy)
@@ -1041,6 +1041,7 @@
              facecolors = [determine_facecolor(p) for p in patches]
              edgecolors = [p.get_edgecolor() for p in patches]
              linewidths = [p.get_linewidth() for p in patches]
+ linestyles = [p.get_linestyle() for p in patches]
              antialiaseds = [p.get_antialiased() for p in patches]

              Collection.__init__(
@@ -1048,7 +1049,7 @@
                  edgecolors=edgecolors,
                  facecolors=facecolors,
                  linewidths=linewidths,
- linestyles='solid',
+ linestyles=linestyles,
                  antialiaseds = antialiaseds)
          else:
              Collection.__init__(self, **kwargs)

Cheers,

Tom
------------------------------------------------------------------------------
Sell apps to millions through the Intel(R) Atom(Tm) Developer Program
Be part of this innovative community and reach millions of netbook users
worldwide. Take advantage of special opportunities to increase revenue and
speed time-to-market. Join now, and jumpstart your future.
http://p.sf.net/sfu/intel-atom-d2d
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
matplotlib-devel List Signup and Options