I work with Anaconda environment, and after I updated the Matplotlib version to 2.0, I got this error after trying to plot a bifurcation diagram:
.... File "...../anaconda2/lib/python2.7/site-packages/matplotlib/ticker.py", line 1761, in _raw_ticks istep = np.nonzero(steps >= raw_step)[0][0] IndexError: invalid index to scalar variable.
Have you solved the problem? I also have it. I tried to downgrade the matplotlib but it did not work either. Any progress?
No...I reinstalled python with Matplotlib 1.5, and auto again and it works as previously, but I did not manage to make auto work with Matplotlib 2.0
Thanks for your answer Omer. I spent a few days trying to install AUTO in Mac OS X Sierra.
Typical errors I bumped into after plotting in AUTO were:
or
or
After your suggestion, I finally could get AUTO working properly. I did:
1) Download and install Anaconda-2.3.0 (newer packages didn't work properly)
(Anaconda-2.3.0-MacOSX-x86_64.pkg from https://repo.continuum.io/archive/)
2) Downgrade tk and numpy packages of conda installation
>> conda install tk=8.5.13
>> conda remove bottleneck
>> conda install numpy=1.8
(matplotlib in this Anaconda release is 1.4.0):
3) Then proceed with normal AUTO execution.
Could you try https://sourceforge.net/p/auto-07p/patches/2/ ?
I have managed to make auto-07p & matplotlib v2.2.3 working with this little patch.
Hello Sergey,
I've recently tried to use the patch (commenting out the line you've mentioned), but I get an error message like this:
ValueError: all the input arrays must have same number of dimensions
Hello,
I am also facing matplotlib related errors. When I try using PyPlaut, I get the following:
Traceback (most recent call last): File "/home/parul/Software/AutoForLinux/auto/07p/python/graphics/pyplaut.py", line 605, in <module> runner = PyPlautInteractiveConsole(exportFunctions(), b, s) File "/home/parul/Software/AutoForLinux/auto/07p/python/graphics/pyplaut.py", line 82, in __init__ self.handle.config(**dict) File "/home/parul/Software/AutoForLinux/auto/07p/python/graphics/windowPlotter.py", line 211, in config rval = self.grapher.config(cnf,**kw) File "/home/parul/Software/AutoForLinux/auto/07p/python/graphics/plotter.py", line 236, in config self._plotNoDraw() File "/home/parul/Software/AutoForLinux/auto/07p/python/graphics/plotter.py", line 343, in _plotNoDraw self.__plot7(*columns) File "/home/parul/Software/AutoForLinux/auto/07p/python/graphics/plotter.py", line 607, in __plot7 self.__plot7branch(branch,xcolumns,ycolumns,zcolumns) File "/home/parul/Software/AutoForLinux/auto/07p/python/graphics/plotter.py", line 554, in __plot7branch xy = branch.coordarray[col] File "/home/parul/Software/AutoForLinux/auto/07p/python/bifDiag.py", line 229, in __getattr__ return super(bifDiagBranch, self).__getattr__(attr) File "/home/parul/Software/AutoForLinux/auto/07p/python/parseB.py", line 297, in __getattr__ self.__parse() File "/home/parul/Software/AutoForLinux/auto/07p/python/parseB.py", line 343, in __parse stability = self.__parsenumpy(points) File "/home/parul/Software/AutoForLinux/auto/07p/python/parseB.py", line 372, in __parsenumpy [len(points)-1])) ValueError: all the input arrays must have same number of dimensions
I get these errors after using the patch that you mentioned.
I am using Python 2.7.12 and matplotlib 1.5.1. My OS is Ubuntu 16.04 LTS.
This patch seems to fix that particular issue, it looks as though parseB.py expects numpy to concatenate to an empty array which fails. There's definitely a better way to do this, but as a quick and dirty fix we can just catch the error and return the expected result.
It's a combination of not overriding N.nonzero (because that is now used by matplotlib itself) but also explicitly using N.flatnonzero in the AUTO python code, as done here:
https://github.com/auto-07p/auto-07p/commit/df84ddbc79ae86f13d5840f3c6cdfdfe56b7936a
it's now fixed in that github repository.