From jks at iki.fi Sun Aug 2 09:08:33 2015 From: jks at iki.fi (=?iso-8859-1?Q?Jouni_K=2E_Sepp=E4nen?=) Date: Sun, 02 Aug 2015 10:08:33 +0300 Subject: [Matplotlib-devel] IMPORTANT: Mailing lists are moving References: <55BBAB39.2080104@stsci.edu> Message-ID: Jouni K. Sepp?nen writes: > Neal Becker writes: > >> I read via gmane: I guess this will need to be updated? > > I attempted to send a message to gmane.discuss to request this, but it > seems there is some problem with that mailing list - the latest message > is from July 17 when viewed via NNTP, and usually there are at several > messages per week. I have emailed the gmane.org administrator to ask > about the status. gmane.org should now be using the new addresses. I'm sending this message via gmane, so this message should end up on the new list. It seems that gmane cannot have more than one address per mailing list, so further messages on the old lists will no longer appear on gmane. -- Jouni K. Sepp?nen http://www.iki.fi/jks From jks at iki.fi Sun Aug 2 09:19:28 2015 From: jks at iki.fi (=?iso-8859-1?Q?Jouni_K=2E_Sepp=E4nen?=) Date: Sun, 02 Aug 2015 10:19:28 +0300 Subject: [Matplotlib-devel] IMPORTANT: Mailing lists are moving References: <55BBAB39.2080104@stsci.edu> Message-ID: Benjamin Root writes: > nabble is also another fairly commonly used resource for viewing archived > discussions. I couldn't figure out in five minutes how to update the address Nabble subscribes to. Perhaps someone who uses Nabble regularly could do this? -- Jouni K. Sepp?nen http://www.iki.fi/jks From jks at iki.fi Tue Aug 4 14:01:26 2015 From: jks at iki.fi (=?iso-8859-1?Q?Jouni_K=2E_Sepp=E4nen?=) Date: Tue, 04 Aug 2015 15:01:26 +0300 Subject: [Matplotlib-devel] EuroSciPy 2015 sprints Message-ID: EuroSciPy is in a few weeks, and there is time for sprints on August 30: https://www.euroscipy.org/2015/sprints/ Is there interest in setting up a matplotlib sprint? -- Jouni K. Sepp?nen http://www.iki.fi/jks From jscandaliaris at gmail.com Tue Aug 4 16:36:01 2015 From: jscandaliaris at gmail.com (Jorge Scandaliaris) Date: Tue, 4 Aug 2015 14:36:01 +0000 (UTC) Subject: [Matplotlib-devel] venv, pip and Matplotlib development code Message-ID: Hi, I am trying to followup on an issue I saw a couple of days ago with trendvis (I have opened an issue for it: https://github.com/matplotlib/matplotlib/issues/4812 ). It was suggested to me that instead of installing using `python setup.py develop --user`, I should instead use virtualenv, venv or conda to manage different mpl versions. As I am not familiar with either, I started with venv, as I use python3.4 nowadays and it's included there. I created a virtual environment, following the guide suggested in python docs [1]. I created the virtual environment with --system-site-packages to avoid manually installing all the dependencies, making sure that no system nor user version of matplotlib were installed (import matplotlib now fails as expected). It is suggested there that one should use pip for installing packages. As I want to install the development version of mpl, I cloned the mpl sources in the virtual environment and then tried to install them with `pip install -e local/path/to/cloned/mpl/repo`, but I get an error. What am I doing wrong? I tried searching the web for installation procedures of mpl under virtual environments, but all I found was related to stable versions. Can anyone point me to a working procedure? The error I get is reproduced below: $ pip install -e matplotlib Obtaining file:///home/jscandal/sw/python/virtualenvs/mpl/matplotlib Requirement already satisfied (use --upgrade to upgrade): numpy>=1.6 in /usr/lib/python3.4/site-packages (from matplotlib==1.5.dev1) Requirement already satisfied (use --upgrade to upgrade): python-dateutil in /usr/lib/python3.4/site-packages (from matplotlib==1.5.dev1) Requirement already satisfied (use --upgrade to upgrade): pytz in /usr/lib/python3.4/site-packages (from matplotlib==1.5.dev1) Requirement already satisfied (use --upgrade to upgrade): pyparsing>=1.5.6 in /usr/lib/python3.4/site-packages (from matplotlib==1.5.dev1) Requirement already satisfied (use --upgrade to upgrade): six>=1.5 in /usr/lib/python3.4/site-packages (from python-dateutil->matplotlib==1.5.dev1) Installing collected packages: matplotlib Running setup.py develop for matplotlib Complete output from command /usr/bin/python -c "import setuptools, tokenize; __file__='/home/jscandal/sw/python/virtualenvs/mpl/matplotlib/setup.py'; exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" develop --no-deps: ============================================================================ Edit setup.cfg to change the build options BUILDING MATPLOTLIB matplotlib: yes [1.5.dev1] python: yes [3.4.3 (default, Mar 25 2015, 17:13:50) [GCC 4.9.2 20150304 (prerelease)]] platform: yes [linux] REQUIRED DEPENDENCIES AND EXTENSIONS numpy: yes [version 1.9.2] dateutil: yes [using dateutil version 2.4.2] pytz: yes [using pytz version 2015.4] tornado: yes [using tornado version 4.2.1] pyparsing: yes [using pyparsing version 2.0.3] libagg: yes [pkg-config information for 'libagg' could not be found. Using local copy.] freetype: yes [version 2.6.0] png: yes [version 1.6.18] qhull: yes [pkg-config information for 'qhull' could not be found. Using local copy.] OPTIONAL SUBPACKAGES sample_data: yes [installing] toolkits: yes [installing] tests: yes [using nose version 1.3.7 / using unittest.mock] toolkits_tests: yes [using nose version 1.3.7 / using unittest.mock] OPTIONAL BACKEND EXTENSIONS macosx: no [Mac OS-X only] qt5agg: yes [installing, Qt: 5.5.0, PyQt: 5.5.0] qt4agg: yes [installing, Qt: 4.8.7, PySide: 1.2.2; Qt: 4.8.7, PyQt: 4.8.7] ** (-c:13703): WARNING **: Couldn't register with accessibility bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken. gtk3agg: yes [installing, version 3.6.16] ** (-c:13711): WARNING **: Couldn't register with accessibility bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken. gtk3cairo: yes [installing, version 3.6.16] gtkagg: no [Requires pygtk] tkagg: yes [installing, version not identified] wxagg: no [requires wxPython] gtk: no [Requires pygtk] agg: yes [installing] cairo: yes [installing, cairocffi version 1.10.0] windowing: no [Microsoft Windows only] OPTIONAL LATEX DEPENDENCIES dvipng: yes [version 1.14] ghostscript: yes [version 9.16] latex: yes [version 3.14159265] pdftops: yes [version 0.33.0] running develop error: can't create or remove files in install directory The following error occurred while trying to add or remove files in the installation directory: [Errno 13] Permission denied: '/usr/lib/python3.4/site-packages/test-easy-install-13667.write-test' The installation directory you specified (via --install-dir, --prefix, or the distutils default setting) was: /usr/lib/python3.4/site-packages/ Perhaps your account does not have write access to this directory? If the installation directory is a system-owned directory, you may need to sign in as the administrator or "root" account. If you do not have administrative access to this machine, you may wish to choose a different installation directory, preferably one that is listed in your PYTHONPATH environment variable. For information on other options, you may wish to consult the documentation at: https://pythonhosted.org/setuptools/easy_install.html Please make the appropriate changes for your system and try again. ---------------------------------------- Command "/usr/bin/python -c "import setuptools, tokenize; __file__='/home/jscandal/sw/python/virtualenvs/mpl/matplotlib/setup.py'; exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" develop --no-deps" failed with error code 1 in /home/jscandal/sw/python/virtualenvs/mpl/matplotlib [1]. https://packaging.python.org/en/latest/installing.html#virtual-environments From jks at iki.fi Tue Aug 4 16:50:37 2015 From: jks at iki.fi (=?iso-8859-1?Q?Jouni_K=2E_Sepp=E4nen?=) Date: Tue, 04 Aug 2015 17:50:37 +0300 Subject: [Matplotlib-devel] venv, pip and Matplotlib development code References: Message-ID: Jorge Scandaliaris writes: > As I want to install the development version of mpl, I cloned the > mpl sources in the virtual environment and then tried to install them with > `pip install -e local/path/to/cloned/mpl/repo`, but I get an error. [...] > Command "/usr/bin/python -c "import setuptools, tokenize; > __file__='/home/jscandal/sw/python/virtualenvs/mpl/matplotlib/setup.py'; > exec(compile(getattr(tokenize, 'open', > open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" develop > --no-deps" failed with error code 1 in > /home/jscandal/sw/python/virtualenvs/mpl/matplotlib Are you sure you are running the version of pip that is installed in the virtualenv? I don't think it should be invoking /usr/bin/python. -- Jouni K. Sepp?nen http://www.iki.fi/jks From tcaswell at gmail.com Tue Aug 4 16:53:02 2015 From: tcaswell at gmail.com (Thomas Caswell) Date: Tue, 04 Aug 2015 14:53:02 +0000 Subject: [Matplotlib-devel] venv, pip and Matplotlib development code In-Reply-To: References: Message-ID: I can't tell from the trace back if you have activated or not. I also would not clone the repo into the venv. If the source for mpl is in `~/source/matplotlib` : pyvenv --system-site-packages /tmp/test source /tmp/test/bin/activate cd ~/source/matplotlib python setup.py develop Should install matplotlib into the 'test' venv (which lives in RAM on most modern linux machines). Tom On Tue, Aug 4, 2015 at 10:45 AM Jorge Scandaliaris wrote: > Hi, > I am trying to followup on an issue I saw a couple of days ago with > trendvis > (I have opened an issue for it: > https://github.com/matplotlib/matplotlib/issues/4812 ). It was suggested > to > me that instead of installing using `python setup.py develop --user`, I > should instead use virtualenv, venv or conda to manage different mpl > versions. As I am not familiar with either, I started with venv, as I use > python3.4 nowadays and it's included there. > I created a virtual environment, following the guide suggested in python > docs [1]. I created the virtual environment with --system-site-packages to > avoid manually installing all the dependencies, making sure that no system > nor user version of matplotlib were installed (import matplotlib now fails > as expected). It is suggested there that one should use pip for installing > packages. As I want to install the development version of mpl, I cloned the > mpl sources in the virtual environment and then tried to install them with > `pip install -e local/path/to/cloned/mpl/repo`, but I get an error. What am > I doing wrong? I tried searching the web for installation procedures of mpl > under virtual environments, but all I found was related to stable versions. > Can anyone point me to a working procedure? > > The error I get is reproduced below: > > $ pip install -e matplotlib > Obtaining file:///home/jscandal/sw/python/virtualenvs/mpl/matplotlib > Requirement already satisfied (use --upgrade to upgrade): numpy>=1.6 in > /usr/lib/python3.4/site-packages (from matplotlib==1.5.dev1) > Requirement already satisfied (use --upgrade to upgrade): python-dateutil > in > /usr/lib/python3.4/site-packages (from matplotlib==1.5.dev1) > Requirement already satisfied (use --upgrade to upgrade): pytz in > /usr/lib/python3.4/site-packages (from matplotlib==1.5.dev1) > Requirement already satisfied (use --upgrade to upgrade): pyparsing>=1.5.6 > in /usr/lib/python3.4/site-packages (from matplotlib==1.5.dev1) > Requirement already satisfied (use --upgrade to upgrade): six>=1.5 in > /usr/lib/python3.4/site-packages (from > python-dateutil->matplotlib==1.5.dev1) > Installing collected packages: matplotlib > Running setup.py develop for matplotlib > Complete output from command /usr/bin/python -c "import setuptools, > tokenize; > __file__='/home/jscandal/sw/python/virtualenvs/mpl/matplotlib/setup.py'; > exec(compile(getattr(tokenize, 'open', > open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" develop > --no-deps: > > ============================================================================ > Edit setup.cfg to change the build options > > BUILDING MATPLOTLIB > matplotlib: yes [1.5.dev1] > python: yes [3.4.3 (default, Mar 25 2015, 17:13:50) > [GCC > 4.9.2 20150304 (prerelease)]] > platform: yes [linux] > > REQUIRED DEPENDENCIES AND EXTENSIONS > numpy: yes [version 1.9.2] > dateutil: yes [using dateutil version 2.4.2] > pytz: yes [using pytz version 2015.4] > tornado: yes [using tornado version 4.2.1] > pyparsing: yes [using pyparsing version 2.0.3] > libagg: yes [pkg-config information for 'libagg' could > not > be found. Using local copy.] > freetype: yes [version 2.6.0] > png: yes [version 1.6.18] > qhull: yes [pkg-config information for 'qhull' could > not be > found. Using local copy.] > > OPTIONAL SUBPACKAGES > sample_data: yes [installing] > toolkits: yes [installing] > tests: yes [using nose version 1.3.7 / using > unittest.mock] > toolkits_tests: yes [using nose version 1.3.7 / using > unittest.mock] > > OPTIONAL BACKEND EXTENSIONS > macosx: no [Mac OS-X only] > qt5agg: yes [installing, Qt: 5.5.0, PyQt: 5.5.0] > qt4agg: yes [installing, Qt: 4.8.7, PySide: 1.2.2; Qt: > 4.8.7, PyQt: 4.8.7] > > ** (-c:13703): WARNING **: Couldn't register with accessibility bus: > Did > not receive a reply. Possible causes include: the remote application did > not > send a reply, the message bus security policy blocked the reply, the reply > timeout expired, or the network connection was broken. > gtk3agg: yes [installing, version 3.6.16] > > ** (-c:13711): WARNING **: Couldn't register with accessibility bus: > Did > not receive a reply. Possible causes include: the remote application did > not > send a reply, the message bus security policy blocked the reply, the reply > timeout expired, or the network connection was broken. > gtk3cairo: yes [installing, version 3.6.16] > gtkagg: no [Requires pygtk] > tkagg: yes [installing, version not identified] > wxagg: no [requires wxPython] > gtk: no [Requires pygtk] > agg: yes [installing] > cairo: yes [installing, cairocffi version 1.10.0] > windowing: no [Microsoft Windows only] > > OPTIONAL LATEX DEPENDENCIES > dvipng: yes [version 1.14] > ghostscript: yes [version 9.16] > latex: yes [version 3.14159265] > pdftops: yes [version 0.33.0] > > running develop > error: can't create or remove files in install directory > > The following error occurred while trying to add or remove files in the > installation directory: > > [Errno 13] Permission denied: > '/usr/lib/python3.4/site-packages/test-easy-install-13667.write-test' > > The installation directory you specified (via --install-dir, --prefix, > or > the distutils default setting) was: > > /usr/lib/python3.4/site-packages/ > > Perhaps your account does not have write access to this directory? If > the > installation directory is a system-owned directory, you may need to > sign in > as the administrator or "root" account. If you do not have > administrative > access to this machine, you may wish to choose a different installation > directory, preferably one that is listed in your PYTHONPATH environment > variable. > > For information on other options, you may wish to consult the > documentation at: > > https://pythonhosted.org/setuptools/easy_install.html > > Please make the appropriate changes for your system and try again. > > > ---------------------------------------- > Command "/usr/bin/python -c "import setuptools, tokenize; > __file__='/home/jscandal/sw/python/virtualenvs/mpl/matplotlib/setup.py'; > exec(compile(getattr(tokenize, 'open', > open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" develop > --no-deps" failed with error code 1 in > /home/jscandal/sw/python/virtualenvs/mpl/matplotlib > > > [1]. > https://packaging.python.org/en/latest/installing.html#virtual-environments > > _______________________________________________ > Matplotlib-devel mailing list > Matplotlib-devel at python.org > https://mail.python.org/mailman/listinfo/matplotlib-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jscandaliaris at gmail.com Tue Aug 4 23:39:36 2015 From: jscandaliaris at gmail.com (Jorge Scandaliaris) Date: Tue, 4 Aug 2015 21:39:36 +0000 (UTC) Subject: [Matplotlib-devel] venv, pip and Matplotlib development code References: Message-ID: Thomas Caswell writes: > > > I can't tell from the trace back if you have activated or not.? I also > would not clone the repo into the venv. > If the source for mpl is in `~/source/matplotlib` : > > pyvenv --system-site-packages /tmp/test > source /tmp/test/bin/activate? > cd ~/source/matplotlib > python setup.py develop > > Should install matplotlib into the 'test' venv (which lives in RAM on > most modern linux machines). > > Tom @Jouni K. Sepp?nen: I used the --system-site-packages option, thus I believe it's fine @Thomas Caswell: thanks for your patience! I was doing it wrong it seems. I just followed your recipe. Now matplotlib installs OK, but I get the same error with trendvis! Details: - I just moved the whole ~/.local folder somewhere else. Now I am 100% sure nothing installed with --user can mess my tests. - No system matplotlib is installed, but its dependencies are system (distro) packages. - I cleaned both mpl and trendvis repos with `git clean -fxd` - I follow your recipe to create the virtualenv and install matplotlib. This succeeds. - I also do `python setup.py develop` in trendvis repo. This also succeeds. - Run the three examples from trendvis README.rst. The first suceeds, although the resultant image differs slightly with the image at trendvis' github page. The two more complex examples yield an error. Trace pasted below: $ python two_row_ygrid_with_frame.py Traceback (most recent call last): File "two_row_ygrid_with_frame.py", line 41, in ex1.draw_frame() File "/home/jscandal/sw/trendvis/trendvis/trendvis/gridclass.py", line 666, in draw_frame ur_corner = self._convert_coords(ur_axis, (urdx, urdy)) File "/home/jscandal/sw/trendvis/trendvis/trendvis/gridclass.py", line 921, in _convert_coords ax_coords = axis.transData.transform(coordinates) File "/home/jscandal/sw/matplotlib/matplotlib.py3/lib/matplotlib/transforms.py", line 1303, in transform values = np.asanyarray(values) File "/usr/lib/python3.4/site-packages/numpy/core/numeric.py", line 514, in asanyarray return array(a, dtype, copy=False, order=order, subok=True) ValueError: Expected 2-dimensional array, got 1 I also tried to remove the system-installed numpy and install it in the virtualenv (maybe the problem is related to arch's numpy?), but that didn't suceed. I tried to do `pip install numpy` and I got an error. I also tried building manually, but didn't manage. The three examples run fine if I use the system version of matplotlib (1.4.3) Regards, Jorge From fabien.maussion at gmail.com Sat Aug 8 16:04:26 2015 From: fabien.maussion at gmail.com (Fabien) Date: Sat, 08 Aug 2015 16:04:26 +0200 Subject: [Matplotlib-devel] Status of MEP12 Message-ID: Hi all, I've seen a lot of mep12 merges lately. Is it something that you guys could still need help with? I've seen a couple of examples where newcomers like me could provide easy fixes (for example: https://github.com/matplotlib/matplotlib/blob/master/examples/pylab_examples/colorbar_tick_labelling_demo.py that should not be located in examples/pylab, or http://matplotlib.org/examples/api/colorbar_only.html that could be simplified). But since it seems to be quite an ongoing effort it might not be necessary to have too many people working on it. (as a side note, the MEP13 page has a wrong title: http://matplotlib.org/devdocs/devel/MEP/MEP13.html) cheers, Fabien From tcaswell at gmail.com Sat Aug 8 17:35:51 2015 From: tcaswell at gmail.com (Thomas Caswell) Date: Sat, 08 Aug 2015 15:35:51 +0000 Subject: [Matplotlib-devel] Status of MEP12 In-Reply-To: References: Message-ID: Yes! To avoid conflicting with Eric start someplace in the middle. Tom On Sat, Aug 8, 2015 at 10:20 AM Fabien wrote: > Hi all, > > I've seen a lot of mep12 merges lately. Is it something that you guys > could still need help with? I've seen a couple of examples where > newcomers like me could provide easy fixes (for example: > > https://github.com/matplotlib/matplotlib/blob/master/examples/pylab_examples/colorbar_tick_labelling_demo.py > that should not be located in examples/pylab, or > http://matplotlib.org/examples/api/colorbar_only.html that could be > simplified). > > But since it seems to be quite an ongoing effort it might not be > necessary to have too many people working on it. > > (as a side note, the MEP13 page has a wrong title: > http://matplotlib.org/devdocs/devel/MEP/MEP13.html) > > cheers, > > Fabien > > _______________________________________________ > Matplotlib-devel mailing list > Matplotlib-devel at python.org > https://mail.python.org/mailman/listinfo/matplotlib-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tcaswell at gmail.com Fri Aug 14 05:26:01 2015 From: tcaswell at gmail.com (Thomas Caswell) Date: Fri, 14 Aug 2015 03:26:01 +0000 Subject: [Matplotlib-devel] v1.5 update Message-ID: Hey all, An update on where we stand in the next release given that the RC is 2 weeks late. At this point I don't think we have a target date, just when ever this all gets done. A long list of regressions was reported by James Evans ( https://github.com/matplotlib/matplotlib/issues/4897) all of which should probably be blockers, but most of them have too little detail to easily tell. James is working on getting PRs in for them. Many of the gui related issues are due to a change in Qt5 that produces too many mouse events on mouse motion. nbagg There needs to be a bit more work done on sorting out how closing figures works - https://github.com/matplotlib/matplotlib/issues/4841 - https://github.com/matplotlib/matplotlib/pull/4456 There are a few major feature PRs outstanding: - https://github.com/matplotlib/matplotlib/pull/4829 (I think this is converging, needs review) - https://github.com/matplotlib/matplotlib/pull/4686 (use cycler internally, still needs work) - https://github.com/matplotlib/matplotlib/pull/4666 (piecewise linear norm, still needs work) - https://github.com/matplotlib/matplotlib/pull/4488 (enusure_ax decorators in pyplot, ready to go) - https://github.com/matplotlib/matplotlib/pull/3937 (improved rectangle selector widgets, ready to go modulo example updates) Stale / auto redraw related - https://github.com/matplotlib/matplotlib/issues/4732 - (PR) https://github.com/matplotlib/matplotlib/pull/4738 (This should be ready for final review) Performance regressions - https://github.com/matplotlib/matplotlib/issues/4918 - https://github.com/matplotlib/matplotlib/issues/4767 Both maybe addressed by https://github.com/matplotlib/matplotlib/pull/4878 or might be poor interaction with the auto-redraw in plain python repl + interactive mode Bugs (bugs that may have been there in 1.4) - python 3 related - https://github.com/matplotlib/matplotlib/issues/4908 - (PR for #4908) https://github.com/matplotlib/matplotlib/pull/4915 - https://github.com/matplotlib/matplotlib/pull/4910 (font config) - https://github.com/matplotlib/matplotlib/issues/4806 (formatting mouse over strings) - https://github.com/matplotlib/matplotlib/pull/4689 (font scoring) - plus the bugs in #4897 that I do not understand yet - https://github.com/matplotlib/matplotlib/pull/4912 (prefer qt5 to qt4 in a corner case) Critical bugs (regressions) - https://github.com/matplotlib/matplotlib/pull/4887 (mathtex accents, I put a major regression in, this fixes it and is ready to go) There are deeper issues related to the mathtext test suite (expansive, but too permissive), but punting on that for now. Unit related PRs - https://github.com/matplotlib/matplotlib/pull/4905 - https://github.com/matplotlib/matplotlib/pull/4904 Critical Documentation - https://github.com/matplotlib/matplotlib/pull/4779 This needs review and a bit more writing from me. One important thing to go in is that the per-artist stale state has a 2 year expiration if we do not find a use case for it. - https://github.com/matplotlib/matplotlib/issues/4783 (include the new color maps) - https://github.com/matplotlib/matplotlib/issues/4543 (house keeping on our docs) If anyone has bandwidth for review or to work on these things that would be great Tom -------------- next part -------------- An HTML attachment was scrubbed... URL: From tcaswell at gmail.com Fri Aug 14 16:21:20 2015 From: tcaswell at gmail.com (Thomas Caswell) Date: Fri, 14 Aug 2015 14:21:20 +0000 Subject: [Matplotlib-devel] [matplotlib-devel] matplotlib 1.5.1 closed path in draw_path when it is not necessary closed In-Reply-To: References: Message-ID: Please keep all discussion on the mailing list (matplotlib-devel at python.org ). 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). 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? Tom On Fri, Aug 14, 2015 at 9:05 AM Andr?s Vargas wrote: > Hello Tom, > > 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'). > > Thanks, Andres > > On Fri, Aug 14, 2015 at 8:13 AM, Thomas Caswell > wrote: > >> Did you mean 1.4.1 instead of 1.5.1 ? >> >> 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. >> >> Tom >> >> On Wed, Aug 12, 2015, 1:57 PM Andr?s Vargas wrote: >> >>> Hello, >>> >>> 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. >>> >>> Thanks, Andres >>> >>> ------------------------------------------------------------------------------ >>> _______________________________________________ >>> Matplotlib-devel mailing list >>> Matplotlib-devel at lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel >>> >> > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenshnielsen at gmail.com Fri Aug 14 17:26:43 2015 From: jenshnielsen at gmail.com (Jens Nielsen) Date: Fri, 14 Aug 2015 15:26:43 +0000 Subject: [Matplotlib-devel] [matplotlib-devel] matplotlib 1.5.1 closed path in draw_path when it is not necessary closed In-Reply-To: References: Message-ID: 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. It is untested, unmaintained and officially discouraged: http://matplotlib.org/faq/usage_faq.html#what-is-a-backend I would recommend you to use GTKAgg instead. 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 I guess the issue is likely a result of the large C++ refactoring in master. best Jens fre. 14. aug. 2015 kl. 15.21 skrev Thomas Caswell : > Please keep all discussion on the mailing list ( > matplotlib-devel at python.org). > > 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). > > 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? > > Tom > > On Fri, Aug 14, 2015 at 9:05 AM Andr?s Vargas wrote: > >> Hello Tom, >> >> 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'). >> >> Thanks, Andres >> > >> On Fri, Aug 14, 2015 at 8:13 AM, Thomas Caswell >> wrote: >> >>> Did you mean 1.4.1 instead of 1.5.1 ? >>> >>> 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. >>> >>> Tom >>> >>> On Wed, Aug 12, 2015, 1:57 PM Andr?s Vargas wrote: >>> >>>> Hello, >>>> >>>> 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. >>>> >>>> Thanks, Andres >>>> >>>> ------------------------------------------------------------------------------ >>>> _______________________________________________ >>>> Matplotlib-devel mailing list >>>> Matplotlib-devel at lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel >>>> >>> >> >> >> _______________________________________________ > Matplotlib-devel mailing list > Matplotlib-devel at python.org > https://mail.python.org/mailman/listinfo/matplotlib-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Nicolas.Rougier at inria.fr Tue Aug 18 17:16:42 2015 From: Nicolas.Rougier at inria.fr (Nicolas P. Rougier) Date: Tue, 18 Aug 2015 17:16:42 +0200 Subject: [Matplotlib-devel] [matplotlib-devel] IMPORTANT: Mailing lists are moving In-Reply-To: <55BBAB39.2080104@stsci.edu> References: <55BBAB39.2080104@stsci.edu> Message-ID: The mailing list pointer on the first page on matplotlib.org stil point to old mailing lists. See: Check the faq, the api docs, mailing list archives, and join the matplotlib mailing lists. Check out the matplotlib questions on stackoverflow. The search tool searches all of the documentation, including full text search of over 350 complete examples which exercise almost every corner of matplotlib. Nicolas > On 31 Jul 2015, at 19:07, Michael Droettboom wrote: > > Due to recent technical problems and changes in policy on SourceForge, we have decided to move the matplotlib mailing lists to python.org. > > To subscribe to the new mailing lists, please visit: > > ? For user questions and support: > https://mail.python.org/mailman/listinfo/matplotlib-users > matplotlib-users at python.org > ? For low-volume announcements about matplotlib releases and related events and software: > https://mail.python.org/mailman/listinfo/matplotlib-announce > matplotlib-announce at python.org > ? For developer discussion: > https://mail.python.org/mailman/listinfo/matplotlib-devel > matplotlib-devel at python.org > The old list will remain active in the meantime, but all new posts will auto-reply with the location of the new mailing lists. > > The old mailing list archives will remain available. > > Thanks to Ralf Hildebrandt at python.org for making this possible. > > Cheers, > Michael Droettboom > > ------------------------------------------------------------------------------ > _______________________________________________ > Matplotlib-devel mailing list > Matplotlib-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel From tcaswell at gmail.com Tue Aug 18 17:35:16 2015 From: tcaswell at gmail.com (Thomas Caswell) Date: Tue, 18 Aug 2015 15:35:16 +0000 Subject: [Matplotlib-devel] [matplotlib-devel] IMPORTANT: Mailing lists are moving In-Reply-To: References: <55BBAB39.2080104@stsci.edu> Message-ID: I have corrected the landing page for the mailing list sign up (should be live, might need to clear some caches). nabble is still a problem, maybe we should redirect that to gmane which has been updated to look at the new address? Tom On Tue, Aug 18, 2015 at 11:17 AM Nicolas P. Rougier < Nicolas.Rougier at inria.fr> wrote: > > The mailing list pointer on the first page on matplotlib.org stil point > to old mailing lists. > > See: Check the faq, the api docs, mailing list archives, and join the > matplotlib mailing lists. Check out the matplotlib questions on > stackoverflow. The search tool searches all of the documentation, including > full text search of over 350 complete examples which exercise almost every > corner of matplotlib. > > > Nicolas > > > > On 31 Jul 2015, at 19:07, Michael Droettboom wrote: > > > > Due to recent technical problems and changes in policy on SourceForge, > we have decided to move the matplotlib mailing lists to python.org. > > > > To subscribe to the new mailing lists, please visit: > > > > ? For user questions and support: > > https://mail.python.org/mailman/listinfo/matplotlib-users > > matplotlib-users at python.org > > ? For low-volume announcements about matplotlib releases and > related events and software: > > https://mail.python.org/mailman/listinfo/matplotlib-announce > > matplotlib-announce at python.org > > ? For developer discussion: > > https://mail.python.org/mailman/listinfo/matplotlib-devel > > matplotlib-devel at python.org > > The old list will remain active in the meantime, but all new posts will > auto-reply with the location of the new mailing lists. > > > > The old mailing list archives will remain available. > > > > Thanks to Ralf Hildebrandt at python.org for making this possible. > > > > Cheers, > > Michael Droettboom > > > > > ------------------------------------------------------------------------------ > > _______________________________________________ > > Matplotlib-devel mailing list > > Matplotlib-devel at lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > > _______________________________________________ > Matplotlib-devel mailing list > Matplotlib-devel at python.org > https://mail.python.org/mailman/listinfo/matplotlib-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ben.root at ou.edu Thu Aug 20 20:18:06 2015 From: ben.root at ou.edu (Benjamin Root) Date: Thu, 20 Aug 2015 14:18:06 -0400 Subject: [Matplotlib-devel] [matplotlib-devel] When panning text gets out of bounds In-Reply-To: References: Message-ID: There is the concept of clipping. We can choose to clip artists to a bounding box. There has been some back-n-forth on whether or not annotations should be clipped. I can't remember what we have decided on, but that example definitely looks like evidence that they should be clipped. By the way, please use the new python.org mailing lists. On Thu, Aug 20, 2015 at 1:59 PM, Andr?s Vargas wrote: > Hello, > > I am writing to let you know guys that while implementing a backend I run > into an issue when doing panning. Which render the texts outside the axes. > I tried to solve it but I had no way to know if the text is either from > inside the axes or outside. I think this perhaps need a change in > backend_bases. I looked into the other backends and they have the same > problem even GtkCairo. > > http://imagebin.ca/v/2Coe4Nzw3hZl > > The problem can be seen on there with the text inside the axes. > > Thanks, Andres > > > > > > ------------------------------------------------------------------------------ > > _______________________________________________ > Matplotlib-devel mailing list > Matplotlib-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tcaswell at gmail.com Sun Aug 30 21:47:26 2015 From: tcaswell at gmail.com (Thomas Caswell) Date: Sun, 30 Aug 2015 19:47:26 +0000 Subject: [Matplotlib-devel] [matplotlib-devel] Travis build of development matplotlib? In-Reply-To: References: Message-ID: I do not know of anyone who is building conda packages off of master regularly. Phil Elson has been working on continuous deployment tools, but none of that is set up on matplotlib yet. One (possibly) easy path to getting this add a hook into our .travis.yml file that pokes binstar/anaconda.org to build the linux binaries whenever master passes (we are using the same hook to deploy the devdocs ( matplotlib.org/devdocs). I think all that needs to be done for that is for mpl to include a working conda recipe and the right yaml file. Tom PS: the dev list has moved to matplotlib-devel at python.org On Sat, Aug 29, 2015, 3:27 PM Michael Waskom wrote: > Hi all, > > I would like to set up a Travis build of seaborn that tests against the > development version of matplotlib. Ideally this would happen without > actually compiling matplotlib on Travis, to save time. > > Does matplotlib master get packaged such that it is installable through > conda? I thought I recalled seeing this somewhere, but I am having trouble > digging it up. > > Thanks! > Michael > > ------------------------------------------------------------------------------ > _______________________________________________ > Matplotlib-devel mailing list > Matplotlib-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tcaswell at gmail.com Mon Aug 31 00:37:39 2015 From: tcaswell at gmail.com (Thomas Caswell) Date: Sun, 30 Aug 2015 22:37:39 +0000 Subject: [Matplotlib-devel] [matplotlib-devel] Running test suite with out image comparisons In-Reply-To: References: Message-ID: Not that I know of, but that seems like a useful thing to have. All of the image tests use the `@image_comparison` decorator, we could check something in there an raise SkipTest. Tom On Tue, Jul 21, 2015 at 9:11 PM Brian Granger wrote: > Hi folks, > > Is it possible to run the matplotlib test suite without the image > comparisons? > > Cheers, > > Brian > > -- > Brian E. Granger > Cal Poly State University, San Luis Obispo > @ellisonbg on Twitter and GitHub > bgranger at calpoly.edu and ellisonbg at gmail.com > > > ------------------------------------------------------------------------------ > Don't Limit Your Business. Reach for the Cloud. > GigeNET's Cloud Solutions provide you with the tools and support that > you need to offload your IT needs and focus on growing your business. > Configured For All Businesses. Start Your Cloud Today. > https://www.gigenetcloud.com/ > _______________________________________________ > Matplotlib-devel mailing list > Matplotlib-devel at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tcaswell at gmail.com Mon Aug 31 05:23:19 2015 From: tcaswell at gmail.com (Thomas Caswell) Date: Mon, 31 Aug 2015 03:23:19 +0000 Subject: [Matplotlib-devel] [matplotlib-devel] Alternative way of specifying plot layout In-Reply-To: References: <51B26857-6515-4B61-BC21-5D9BB3B2FDF9@inria.fr> <5509BB62.3050407@hawaii.edu> <87C257B7-F4FA-4E83-8A48-3EE627F4E3F4@inria.fr> <6292AAC2-9F5A-4B86-B362-E5A3CA9678E2@inria.fr> Message-ID: We are starting to wrap up 1.5 (finally), getting this rolling again would be great! Tom On Sun, Apr 26, 2015 at 1:52 PM Thomas Caswell wrote: > I am in favor of doing in in PR comments so we can to line comments. > > On Sun, Apr 26, 2015 at 3:47 AM Nicolas P. Rougier < > Nicolas.Rougier at inria.fr> wrote: > >> >> Great ! Thanks for setting this up. One comment, it would be great to >> have a README.rst in the directory to have abstract of all MEPS at once in >> github (I can make a PR). >> >> >> I've started working on MEP28 ( >> https://github.com/rougier/matplotlib/blob/MEP28/doc/devel/MEP/MEP28.rst). >> I intend to make a PR once it is a bit more polished or should I make a PR >> right now to initiate the discussion on the PR ? (It is not clear to me if >> the preferred medium for discussion is the mailing list or the PR comments). >> >> >> Nicolas >> >> > On 25 Apr 2015, at 23:04, Thomas Caswell wrote: >> > >> > The MEP tree has been moved into the main repo >> https://github.com/matplotlib/matplotlib/tree/master/doc/devel/MEP >> > >> > I am pretty excited about this feature. >> > >> > I don't remember if this got mentioned upthread, but this ties in with >> https://github.com/matplotlib/matplotlib/issues/1109 as a nice way to >> set up all of the constraints. >> > >> > Tom >> > >> > On Thu, Mar 19, 2015 at 1:10 PM Nicolas P. Rougier < >> Nicolas.Rougier at inria.fr> wrote: >> > Ok. I'll wait for the MEP directory to start writing a proposal. >> > Here is a flavor of what I think could be done (to be seen using a >> fixed width font): >> > >> > >> > "AB": >> > ???????????????????? >> > ? A ?? B ? >> > ? ?? ? >> > ? ?? ? >> > ???????????????????? >> > >> > "ABB": >> > ???????????????????? >> > ? A ?? B ? >> > ? ?? ? >> > ? ?? ? >> > ???????????????????? >> > >> > "ABD" >> > "CCD": >> > ??????????????????????????? >> > ? A ?? B ?? D ? >> > ? ?? ?? ? >> > ? ?? ?? ? >> > ??????????????????? ? >> > ??????????????????? ? >> > ? C ?? ? >> > ? ?? ? >> > ??????????????????????????? >> > >> > "AaBb": >> > ???????????????????????? >> > ? A ?? ?? B ?? ? >> > ? ?? ?? ?? ? >> > ? ?? ?? ?? ? >> > ???????????????????????? >> > >> > " b " >> > "aABCc": >> > ????????? >> > ????????? >> > ????????????????????????????????? >> > ? ?? A ?? B ?? C ?? ? >> > ? ?? ?? ?? ?? ? >> > ? ?? ?? ?? ?? ? >> > ????????????????????????????????? >> > >> > >> > >> > >> >> On 19 Mar 2015, at 15:34, Benjamin Root wrote: >> >> >> >> two problems with that: 1) that really doesn't make me want to use >> this approach, especially since I wouldn't know what ratios I would want in >> the first place. 2) it can't tell if I want a horizontal or vertical >> colorbar, whereas the lower-case notation could have some logic to >> auto-detect the user's intent (e.g., all lower-case letters in the last row >> indicates horizontal bars). It would also allow us to return the plotting >> axes separate from the colorbar axes, which is how axes_grid1 does it, and >> it is very nice that way. >> >> >> >> On Thu, Mar 19, 2015 at 6:31 AM, Nicolas P. Rougier < >> Nicolas.Rougier at inria.fr> wrote: >> >> >> >> I think you could specify colorbars using: ["AAAAAAAAAB"] >> >> (B is a vertical colorbar, 1/10 of total width) >> >> >> >> Nicolas >> >> >> >> >> >> >> >> > On 18 Mar 2015, at 18:52, Eric Firing wrote: >> >> > >> >> > On 2015/03/18 7:42 AM, Benjamin Root wrote: >> >> >> A thought... could this perhaps be extended somehow to specify >> colorbars >> >> >> in the layout? >> >> > >> >> > A lower-case letter could indicate a colorbar-size Axes: >> >> > >> >> > layout = ["ABc", >> >> > "DE ", >> >> > "ff "] >> >> > >> >> > would put a vertical think axes to the right of B, and a double-wide >> >> > hoizontal one below D and E. >> >> > >> >> > All of this seems like an alternative API for gridspec and >> axes_grid1. >> >> > >> >> > I am concerned about ending up with too many ways to do things, but >> with >> >> > subtle differences. >> >> > >> >> > How much control over spacing and sizing would be provided by kwargs >> or >> >> > other adjustment mechanisms? How would this relate to >> subplot_params? >> >> > >> >> > Eric >> >> > >> >> > >> >> > >> >> > >> ------------------------------------------------------------------------------ >> >> > Dive into the World of Parallel Programming The Go Parallel Website, >> sponsored >> >> > by Intel and developed in partnership with Slashdot Media, is your >> hub for all >> >> > things parallel software development, from weekly thought leadership >> blogs to >> >> > news, videos, case studies, tutorials and more. Take a look and join >> the >> >> > conversation now. http://goparallel.sourceforge.net/ >> >> > _______________________________________________ >> >> > Matplotlib-devel mailing list >> >> > Matplotlib-devel at lists.sourceforge.net >> >> > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel >> >> >> >> >> >> >> ------------------------------------------------------------------------------ >> >> Dive into the World of Parallel Programming The Go Parallel Website, >> sponsored >> >> by Intel and developed in partnership with Slashdot Media, is your hub >> for all >> >> things parallel software development, from weekly thought leadership >> blogs to >> >> news, videos, case studies, tutorials and more. Take a look and join >> the >> >> conversation now. http://goparallel.sourceforge.net/ >> >> _______________________________________________ >> >> Matplotlib-devel mailing list >> >> Matplotlib-devel at lists.sourceforge.net >> >> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel >> >> >> > >> > >> ------------------------------------------------------------------------------ >> > Dive into the World of Parallel Programming The Go Parallel Website, >> sponsored >> > by Intel and developed in partnership with Slashdot Media, is your hub >> for all >> > things parallel software development, from weekly thought leadership >> blogs to >> > news, videos, case studies, tutorials and more. Take a look and join the >> > conversation now. >> http://goparallel.sourceforge.net/_______________________________________________ >> > Matplotlib-devel mailing list >> > Matplotlib-devel at lists.sourceforge.net >> > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From ben.v.root at gmail.com Mon Aug 31 15:55:50 2015 From: ben.v.root at gmail.com (Benjamin Root) Date: Mon, 31 Aug 2015 09:55:50 -0400 Subject: [Matplotlib-devel] [matplotlib-devel] Running test suite with out image comparisons In-Reply-To: References: Message-ID: If what you are trying to avoid is the long runtime it takes to do the entire test suite, I have found that most of the test files can easily be run individually. So, if you want to check something specific, you can do something like "python lib/matplotlib/tests/test_foobar.py". It'll do the image comparisons, yes, but it will be a limited subset of the full test suite. The result images end up in the same location as if you ran the normal test suite. On Sun, Aug 30, 2015 at 6:37 PM, Thomas Caswell wrote: > Not that I know of, but that seems like a useful thing to have. All of > the image tests use the `@image_comparison` decorator, we could check > something in there an raise SkipTest. > > Tom > > > On Tue, Jul 21, 2015 at 9:11 PM Brian Granger wrote: > >> Hi folks, >> >> Is it possible to run the matplotlib test suite without the image >> comparisons? >> >> Cheers, >> >> Brian >> >> -- >> Brian E. Granger >> Cal Poly State University, San Luis Obispo >> @ellisonbg on Twitter and GitHub >> bgranger at calpoly.edu and ellisonbg at gmail.com >> >> >> ------------------------------------------------------------------------------ >> Don't Limit Your Business. Reach for the Cloud. >> GigeNET's Cloud Solutions provide you with the tools and support that >> you need to offload your IT needs and focus on growing your business. >> Configured For All Businesses. Start Your Cloud Today. >> https://www.gigenetcloud.com/ >> _______________________________________________ >> Matplotlib-devel mailing list >> Matplotlib-devel at lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel >> > > _______________________________________________ > Matplotlib-devel mailing list > Matplotlib-devel at python.org > https://mail.python.org/mailman/listinfo/matplotlib-devel > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From andnovar at gmail.com Fri Aug 14 16:40:23 2015 From: andnovar at gmail.com (=?UTF-8?Q?Andr=C3=A9s_Vargas?=) Date: Fri, 14 Aug 2015 14:40:23 -0000 Subject: [Matplotlib-devel] [matplotlib-devel] matplotlib 1.5.1 closed path in draw_path when it is not necessary closed In-Reply-To: References: Message-ID: I am so sorry I did a wrong use of the reply button. I am currently on 1.5.dev1 and when I run from examples/showcase/integral_demo.py I see a line from the last point to the initial as can be seen here http://imagebin.ca/v/2C7X8CAKZN0g and this happens in all the paths that are open. This is how gtk is doing it: http://pastebin.com/MM7YBv4F I am doing this: http://pastebin.com/7QwJKMv3 In 1.4.3 does not have this point at the end of the polygon path. Thanks, Andres On Fri, Aug 14, 2015 at 10:21 AM, Thomas Caswell wrote: > Please keep all discussion on the mailing list ( > matplotlib-devel at python.org). > > 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). > > 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? > > Tom > > > On Fri, Aug 14, 2015 at 9:05 AM Andr?s Vargas wrote: > >> Hello Tom, >> >> 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'). >> >> Thanks, Andres >> >> On Fri, Aug 14, 2015 at 8:13 AM, Thomas Caswell >> wrote: >> >>> Did you mean 1.4.1 instead of 1.5.1 ? >>> >>> 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. >>> >>> Tom >>> >>> On Wed, Aug 12, 2015, 1:57 PM Andr?s Vargas wrote: >>> >>>> Hello, >>>> >>>> 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. >>>> >>>> Thanks, Andres >>>> >>>> ------------------------------------------------------------------------------ >>>> _______________________________________________ >>>> Matplotlib-devel mailing list >>>> Matplotlib-devel at lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel >>>> >>> >> >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From andnovar at gmail.com Thu Aug 20 19:59:49 2015 From: andnovar at gmail.com (=?UTF-8?Q?Andr=C3=A9s_Vargas?=) Date: Thu, 20 Aug 2015 17:59:49 -0000 Subject: [Matplotlib-devel] When panning text gets out of bounds Message-ID: Hello, I am writing to let you know guys that while implementing a backend I run into an issue when doing panning. Which render the texts outside the axes. I tried to solve it but I had no way to know if the text is either from inside the axes or outside. I think this perhaps need a change in backend_bases. I looked into the other backends and they have the same problem even GtkCairo. http://imagebin.ca/v/2Coe4Nzw3hZl The problem can be seen on there with the text inside the axes. Thanks, Andres -------------- next part -------------- An HTML attachment was scrubbed... URL: From cornelius.weig at gmx.de Fri Aug 21 14:28:04 2015 From: cornelius.weig at gmx.de (Cornelius Weig) Date: Fri, 21 Aug 2015 12:28:04 -0000 Subject: [Matplotlib-devel] Fwd: patch for stream prediction in pdf backend In-Reply-To: <55D6FE4C.4000807@gmx.de> References: <55D6FE4C.4000807@gmx.de> Message-ID: <55D71952.9040500@gmx.de> Hi, I have implemented PNG stream prediction for the pdf backend. It was marked as a TODO. Cheers, Cornelius ------------------- Details: At first I thought about linking to libpng, but I couldn't find an API for raw encoding of single lines as PDF needs it. Therefore, I implemented the code in plain python (it makes heavy use of numpy to do the number crunching). It needs testing with python 3 however... I took care of five different encoding modes as specified by RFC 2083: 10 - noop 11 - Sub encoding 12 - Up encoding 13 - Avg encoding 14 - Paeth encoding 15 - Optimal encoding (*) (*) For '15', I considered only modes 10-13, because my Paeth implementation is not very fast (nor very clean). The prediction is done by a static method in the 'Stream' class, which is called from writeImages. My heuristics have shown (and http://www.libpng.org/pub/png/book/chapter09.html also mentions it) that gray-scale data does usually not benefit from stream prediction. Therefore, the prediction is only applied to color images. Finally, I think that the encoding mode is something to be made adjustable by the user, so that a rcParams['pdf.prediction'] (or 'filter' or 'pngcompression') setting should be justified. I didn't touch anything of this, because that's up to you devs. -------------- next part -------------- Index: lib/matplotlib/backends/backend_pdf.py =================================================================== --- lib/matplotlib/backends/backend_pdf.py (revision 8989) +++ lib/matplotlib/backends/backend_pdf.py (working copy) @@ -351,6 +351,117 @@ compressed = self.compressobj.compress(data) self.file.write(compressed) + @staticmethod + def pngPredict(data, height, width, predictor = 10): + """Applies a PNG stream predictor to the data stream + + predictor, int, valid values are + 10, no stream prediction + 11, Sub predictor + 12, Up predictor + 13, Average predictor + 14, Paeth predictor + 15, optimal predictor, not implemented + """ + if predictor < 10 or predictor > 15: + return data + + bytesPerSample = len(data) // (width * height) + bytesPerRow = width * bytesPerSample + + datat = np.fromstring(data, np.uint8) + datat.shape = (height, bytesPerRow) + + pred = np.zeros(len(data) + height, np.uint8) + pred.shape = (height, bytesPerRow + 1) + + uLine = np.zeros(bytesPerRow, np.uint8) + uShift = np.zeros(bytesPerRow, dtype=np.uint8) + work = np.zeros(bytesPerRow, dtype=np.int16) # n.b. int16! + for row in xrange(height): + + # PDF standard allows per-line predictors + pred[row, 0] = predictor - 10 + + cLine = datat[row] + + # No predictor + if predictor == 10: + pred[row, 1:] = cLine + + # Sub predictor + if predictor == 11: + work[bytesPerSample:] = cLine[:-bytesPerSample] + pred[row, 1:] = cLine - work + + # Up predictor + elif predictor == 12: + pred[row, 1:] = cLine - uLine + uLine = cLine + + # Average predictor + elif predictor == 13: + work[:bytesPerSample] = 0 # cluttered below... + work[bytesPerSample:] = cLine[:-bytesPerSample] + work += uLine + work /= 2 + + pred[row, 1:] = cLine - work + uLine = cLine + + # Paeth predictor + elif predictor == 14: + work[:bytesPerSample] = 0 # cluttered below... + work[bytesPerSample:] = cLine[:-bytesPerSample] + uShift[bytesPerSample:] = uLine[:-bytesPerSample] + + p = work + uLine - uShift #n.b. int16! + pa = abs(p - work) + pb = abs(p - uLine) + pc = abs(p - uShift) + + paethSelect = lambda a,b,c,pa,pb,pc: a if pa <= pb and pa <= pc else b if pb <= pc else c + + work = np.array([paethSelect(a,b,c,pa,pb,pc) for a,b,c,pa,pb,pc in + zip(work, uLine, uShift, pa, pb, pc)]) + + pred[row, 1:] = cLine - work + uLine = cLine + + elif predictor == 15: # possibly TODO: also check Paeth prediction + # minimum sum of absolute differences heuristic by + # Lee Daniel Crocker + entr_id = sum(abs(cLine.astype(np.int8))) + + work[:bytesPerSample] = 0 # cluttered below... + work[bytesPerSample:] = cLine[:-bytesPerSample] + predSub = cLine - work + entrSub = sum(abs(predSub.astype(np.int8))) + + predUp = cLine - uLine + entrUp = sum(abs(predUp.astype(np.int8))) + + work += uLine + work /= 2 + predAvg = cLine - work + entrAvg = sum(abs(predAvg.astype(np.int8))) + + if entr_id <= entrSub and entr_id <= entrUp and entr_id <= entrAvg: + pred[row, 0] = 0 + pred[row, 1:] = cLine + elif entrSub <= entrUp and entrSub <= entrAvg: + pred[row, 0] = 1 + pred[row, 1:] = predSub + elif entrUp <= entrAvg: + pred[row, 0] = 2 + pred[row, 1:] = predUp + else: + pred[row, 0] = 3 + pred[row, 1:] = predAvg + + uLine = cLine + return pred.tostring() + def _flush(self): """Flush the compression object.""" @@ -1185,8 +1296,16 @@ {'Type': Name('XObject'), 'Subtype': Name('Image'), 'Width': width, 'Height': height, 'ColorSpace': Name('DeviceRGB'), 'BitsPerComponent': 8, - 'SMask': smaskObject}) - self.currentstream.write(data) # TODO: predictors (i.e., output png) + 'SMask': smaskObject, 'DecodeParms': {'Predictor': predictor, + 'BitsPerComponent': 8, 'Columns': width, 'Colors': 3}}) + # TODO: predictors (i.e., output png) + # predictor = rcParams.get('pdf.predictor', 0) + predictor = 15 # optimized predictor + if predictor: + predicted = Stream.pngPredict(data, height, width, predictor) + self.currentstream.write(predicted) + else: + self.currentstream.write(data) self.endStream() img.flipud_out() From andnovar at gmail.com Fri Aug 21 21:16:15 2015 From: andnovar at gmail.com (=?UTF-8?Q?Andr=C3=A9s_Vargas?=) Date: Fri, 21 Aug 2015 19:16:15 -0000 Subject: [Matplotlib-devel] Issue when zooming Message-ID: Hello, I came up with this issue while implementing the kivy backend, the problem is explained in the comments of this issue, but basically according to the debugging I did, draw_path receives just the paths that are visible so when zooming for instance on an edge of a bar the number of vertices is not enough to construct a polygon. https://github.com/andnovar/kivy/issues/72 Thanks, Andres -------------- next part -------------- An HTML attachment was scrubbed... URL: From andnovar at gmail.com Fri Aug 21 21:19:11 2015 From: andnovar at gmail.com (=?UTF-8?Q?Andr=C3=A9s_Vargas?=) Date: Fri, 21 Aug 2015 19:19:11 -0000 Subject: [Matplotlib-devel] [matplotlib-devel] When panning text gets out of bounds In-Reply-To: References: Message-ID: Thanks for your quick reply ! Not sure but this could be another issue related to the way clipping is done. https://github.com/andnovar/kivy/issues/72 Thanks, Andres On Thu, Aug 20, 2015 at 2:18 PM, Benjamin Root wrote: > There is the concept of clipping. We can choose to clip artists to a > bounding box. There has been some back-n-forth on whether or not > annotations should be clipped. I can't remember what we have decided on, > but that example definitely looks like evidence that they should be clipped. > > By the way, please use the new python.org mailing lists. > > On Thu, Aug 20, 2015 at 1:59 PM, Andr?s Vargas wrote: > >> Hello, >> >> I am writing to let you know guys that while implementing a backend I run >> into an issue when doing panning. Which render the texts outside the axes. >> I tried to solve it but I had no way to know if the text is either from >> inside the axes or outside. I think this perhaps need a change in >> backend_bases. I looked into the other backends and they have the same >> problem even GtkCairo. >> >> http://imagebin.ca/v/2Coe4Nzw3hZl >> >> The problem can be seen on there with the text inside the axes. >> >> Thanks, Andres >> >> >> >> >> >> ------------------------------------------------------------------------------ >> >> _______________________________________________ >> Matplotlib-devel mailing list >> Matplotlib-devel at lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: