Ken,

On Wed, Dec 17, 2008 at 1:14 AM, Ken Schutte <kts.li...@gmail.com> wrote:
> This new FancyArrow stuff looks great, but I'm having trouble getting it to
> work.  All of the gallery examples I see seem to only use it thru an
> 'annotate' call.  I just want to draw these arrows directly.
>
> I tried the following, but it just draws a plain line:
>
> ax = gca()
> c = matplotlib.patches.FancyArrowPatch((0.2, 0.2), (0.5, 0.5),
> arrowstyle="->")
> ax.add_patch(c)

This is a correct way indeed.
I believe that you considered it as a plain line because the arrow
head is too small.
You need to adjust the mutation_scale parameter. Try

c = matplotlib.patches.FancyArrowPatch((0.2, 0.2), (0.5, 0.5),
arrowstyle="->", mutation_scale=20.)

Maybe the defaults need to be changed.


>
> I also tried uisng __call__ on an ArrowStyle instance:
>
> a = matplotlib.patches.ArrowStyle.Fancy(head_length=.4, head_width=.4,
> tail_width=.4)
> pth = matplotlib.path.Path( [[.3,.1],[.7,.5]] )
> a(pth,1,1)
>
> This gives an error.  (it looks like it tries to access path.codes[:], which
> from what I can tell shouldn't be accessed directly - so maybe this is a
> bug?).

This method is not intended to be called directly by user.  Currently,
the first argument of the __call__ method should be a path with
path.codes != None. It can be a straight line, but still you have to
explicitly set its codes. Futhemore, some arrow classes (Simple, Fancy
and Wedge) only accept a single segment of cubic bezier line.
FancyArrowPatch internally uses  ConnectionStyle class to create
bezier cuve. Take a look if you're interested in.

IHTH,

-JJ


>
> Any hints on how to draw FancyArrow?
>
> thanks,
> Ken
>
>
> ------------------------------------------------------------------------------
> SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
> The future of the web can't happen without you.  Join us at MIX09 to help
> pave the way to the Next Web now. Learn more and register at
> http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
> _______________________________________________
> Matplotlib-users mailing list
> Matplotlib-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
>

------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to