What's happening here is that the Hammer projection uses interpolation
to make the lines follow the curve of the projection. Obviously with
markers, we don't want that interpolation. The fix is to just use
transform_points rather than transform_path with markers. This is now
fixed in SVN r5934.
Cheers,
Mike
Jae-Joon Lee wrote:
> I forgot to attach the patch.
>
> -JJ
>
>
> On Fri, Jul 25, 2008 at 2:39 AM, Jae-Joon Lee <lee...@gm...> wrote:
>
>> Hi,
>>
>> While playing a little bit with "custom_projection_example.py", I
>> found that "plot" command with projection="hammer" plots too many
>> markers.
>>
>> For example,
>>
>> subplot(111, projection="hammer")
>> grid(True)
>> p = plot([-1, 1, 1], [-1, -1, 1], "o")
>> show()
>>
>> plots more than 100 circles, instead of 3. And I presume that this is
>> a bug not a feature.
>> This seems to be because the draw() method of the Line2D class uses
>> self._transformed_path for plotting Markers, but number of vertices
>> in the _transformed_path increases in the curved coordinate system as
>> in the example.
>>
>> A patch to fix this is attached. It defines a new property
>> "self._transformed_path_mark" in the recache() method as follows
>>
>> tr = self.get_transform()
>> self._transformed_path = TransformedPath(self._path, tr)
>> self._transformed_path_mark =
>> Path(tr.transform_non_affine(self._path.vertices))
>>
>>
>> and draw() method uses this for plotting markers.
>>
>> tpath, affine = self._transformed_path_mark, \
>> self.get_transform().get_affine()
>>
>> As I'm not 100% sure about how the transform things work, I may have
>> missed something. But I got correct results for cases I tried.
>> So I hope this patch is reviewed and applied.
>>
>> Regards,
>>
>> -JJ
>>
>>
>> ------------------------------------------------------------------------
>>
>> -------------------------------------------------------------------------
>> 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-devel mailing list
>> Mat...@li...
>> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
>>
--
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA