<div dir="ltr">Andres,<div><br></div><div>Have you made any progress on this?</div><div><br></div><div>Using the code in integral_demo.py</div><div><br></div><div>```python</div><div><br></div><div><div>import numpy as np</div><div>import matplotlib.pyplot as plt</div><div>from matplotlib.patches import Polygon</div><div><br></div><div><br></div><div>def func(x):</div><div>    return (x - 3) * (x - 5) * (x - 7) + 85</div><div><br></div><div><br></div><div>a, b = 2, 9  # integral limits</div><div><br></div><div># Make the shaded region</div><div>ix = np.linspace(a, b)</div><div>iy = func(ix)</div><div>verts = [(a, 0)] + list(zip(ix, iy)) + [(b, 0)]</div><div>poly = Polygon(verts, facecolor='0.9', edgecolor='0.5')</div></div><div>pth = poly.get_path()</div><div>```</div><div><br></div><div>which if you look at the vertices and codes on both 1.4.3 and current(ish) master you get</div><div><br></div><div>```</div><div><div>In [73]: pth.vertices</div><div>Out[74]: </div><div>array([[   2.        ,    0.        ],</div><div>       [   2.        ,   70.        ],</div><div>       [   2.14285714,   73.10495627],</div><div>       [   2.28571429,   75.86005831],</div><div>       [   2.42857143,   78.28279883],</div><div>       [   2.57142857,   80.39067055],</div><div>       [   2.71428571,   82.20116618],</div><div>       [   2.85714286,   83.73177843],</div><div>       [   3.        ,   85.        ],</div><div>       [   3.14285714,   86.02332362],</div><div>       [   3.28571429,   86.81924198],</div><div>       [   3.42857143,   87.40524781],</div><div>       [   3.57142857,   87.79883382],</div><div>       [   3.71428571,   88.01749271],</div><div>       [   3.85714286,   88.0787172 ],</div><div>       [   4.        ,   88.        ],</div><div>       [   4.14285714,   87.79883382],</div><div>       [   4.28571429,   87.49271137],</div><div>       [   4.42857143,   87.09912536],</div><div>       [   4.57142857,   86.63556851],</div><div>       [   4.71428571,   86.11953353],</div><div>       [   4.85714286,   85.56851312],</div><div>       [   5.        ,   85.        ],</div><div>       [   5.14285714,   84.43148688],</div><div>       [   5.28571429,   83.88046647],</div><div>       [   5.42857143,   83.36443149],</div><div>       [   5.57142857,   82.90087464],</div><div>       [   5.71428571,   82.50728863],</div><div>       [   5.85714286,   82.20116618],</div><div>       [   6.        ,   82.        ],</div><div>       [   6.14285714,   81.9212828 ],</div><div>       [   6.28571429,   81.98250729],</div><div>       [   6.42857143,   82.20116618],</div><div>       [   6.57142857,   82.59475219],</div><div>       [   6.71428571,   83.18075802],</div><div>       [   6.85714286,   83.97667638],</div><div>       [   7.        ,   85.        ],</div><div>       [   7.14285714,   86.26822157],</div><div>       [   7.28571429,   87.79883382],</div><div>       [   7.42857143,   89.60932945],</div><div>       [   7.57142857,   91.71720117],</div><div>       [   7.71428571,   94.13994169],</div><div>       [   7.85714286,   96.89504373],</div><div>       [   8.        ,  100.        ],</div><div>       [   8.14285714,  103.47230321],</div><div>       [   8.28571429,  107.32944606],</div><div>       [   8.42857143,  111.58892128],</div><div>       [   8.57142857,  116.26822157],</div><div>       [   8.71428571,  121.38483965],</div><div>       [   8.85714286,  126.95626822],</div><div>       [   9.        ,  133.        ],</div><div>       [   9.        ,    0.        ],</div><div>       [   2.        ,    0.        ]])</div><div><br></div><div>In [75]: pth.codes</div><div>Out[75]: </div><div>array([ 1,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,</div><div>        2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,</div><div>        2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,</div><div>        2, 79], dtype=uint8)</div></div><div><br></div><div>```</div><div><br></div><div>which is is both cases closed due to the `closed` kwarg on the `Polygon` `__init__`, if you change this to `False` you get back open paths.</div><div><br></div><div>The backend API has not changed between 1.4.3 and current master, you should be able to develop a backend which will work with both.  If you have found API breaks we would really like to know about them!</div><div><br></div><div>Tom</div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Aug 14, 2015 at 11:26 AM Jens Nielsen <<a href="mailto:jenshnielsen@gmail.com">jenshnielsen@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I can reproduce the problem with the GTK backend but not the GTKAgg or GTKCairo backends. Unless you have some specific reason for using the GTK backend I would strongly recommend against it. <span style="line-height:1.5;font-size:13.1999998092651px">It is untested, unmaintained and officially discouraged: <a href="http://matplotlib.org/faq/usage_faq.html#what-is-a-backend" target="_blank">http://matplotlib.org/faq/usage_faq.html#what-is-a-backend</a> I would recommend you to use GTKAgg instead. </span><div><div><div><br></div><div>Furthermore the GDK toolkit, used in that backend, has been dropped from GTK3 which officially uses Cairo internally and thus Matplotlib only supports GTK3Agg and GTK3Cario <div><br></div><div>I guess the issue is likely a result of the large C++ refactoring in master. </div><div><br></div><div>best </div><div>Jens</div><div><br></div><div><br><div><div><br></div></div></div></div></div></div></div><br><div class="gmail_quote"></div><div class="gmail_quote"><div dir="ltr">fre. 14. aug. 2015 kl. 15.21 skrev Thomas Caswell <<a href="mailto:tcaswell@gmail.com" target="_blank">tcaswell@gmail.com</a>>:<br></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Please keep all discussion on the mailing list (<a href="mailto:matplotlib-devel@python.org" target="_blank">matplotlib-devel@python.org</a>).</div><div><br></div>Being pedantic about versions, current master is v1.5.0dev1 , not 1.5.1 (which will be the first bug fix release in the 1.5 series which may or may not ever happen).<div><br></div><div>I don't have gtk installed to easily test this and it looks fine with qt4agg, can you provide a minimal script and the code paths from a simple polygon?<br><div><br></div><div>Tom<br><br><div class="gmail_quote"><div dir="ltr">On Fri, Aug 14, 2015 at 9:05 AM Andrés Vargas <<a href="mailto:andnovar@gmail.com" target="_blank">andnovar@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hello Tom,<div><br></div><div>Thanks for your prompt reply. I am using the function path.to_polygons() and that gives me a non-closed path in matplotlib 1.4.3 (last stable release) and give me a closed path in 1.5.1 (master from github). You can see the problem if you run integral_demo.py with matplotlib 1.5.1 master with matplotlib.use('gtk').</div><div><br></div><div>Thanks, Andres</div></div></blockquote></div></div></div></div><div dir="ltr"><div><div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Aug 14, 2015 at 8:13 AM, Thomas Caswell <span dir="ltr"><<a href="mailto:tcaswell@gmail.com" target="_blank">tcaswell@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">Did you mean 1.4.1 instead of 1.5.1 ?</p>
<p dir="ltr">Exactly which paths are you looking at and how are you generating then on the mpl side? We have many ways to generate the paths and there maybe inconsistence in how closed paths are handled.</p>
<p dir="ltr">Tom</p>
<br><div class="gmail_quote"><div><div><div dir="ltr">On Wed, Aug 12, 2015, 1:57 PM Andrés Vargas <<a href="mailto:andnovar@gmail.com" target="_blank">andnovar@gmail.com</a>> wrote:<br></div></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr"><div><div>Hello,<br><br></div>My name is Andres I am developing a backend for kivy. I was initially developing for 1.5.1 and I found that the paths are coming with the initial vertex at the end of the list. Does anyone know whether this is change in the way paths are sent ? and how can be fixed coming from 1.4.3 since I am developing the backend for that version.<br><br></div>Thanks, Andres<br></div></div></div>
------------------------------------------------------------------------------<br>
_______________________________________________<br>
Matplotlib-devel mailing list<br>
<a href="mailto:Matplotlib-devel@lists.sourceforge.net" target="_blank">Matplotlib-devel@lists.sourceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/matplotlib-devel" rel="noreferrer" target="_blank">https://lists.sourceforge.net/lists/listinfo/matplotlib-devel</a><br>
</blockquote></div>
</blockquote></div><br><br clear="all"><div><br></div>
</div></div></div></blockquote></div></div></div></div><div dir="ltr"><div><div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote></div></div></div></div></blockquote></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
_______________________________________________<br>
Matplotlib-devel mailing list<br>
<a href="mailto:Matplotlib-devel@python.org" target="_blank">Matplotlib-devel@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/matplotlib-devel" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/matplotlib-devel</a><br>
</blockquote></div>
</blockquote></div>