diff --git a/INSTALL b/INSTALL index b5c71e2e6039..f76e4a516326 100644 --- a/INSTALL +++ b/INSTALL @@ -234,8 +234,11 @@ matplotlib with a user interface toolkit. See :ref:`what-is-a-backend` for more details on the optional matplotlib backends and the capabilities they provide. -:term:`tk` 8.3 or later - The TCL/Tk widgets library used by the TkAgg backend +:term:`tk` 8.3 or later, not 8.6.0 or 8.6.1 + The TCL/Tk widgets library used by the TkAgg backend. + + Versions 8.6.0 and 8.6.1 are known to have issues that may result + in segfaults when closing multiple windows in the wrong order. :term:`pyqt` 4.0 or later The Qt4 widgets library python wrappers for the Qt4Agg backend diff --git a/doc/_static/boxplot_explanation.png b/doc/_static/boxplot_explanation.png index dd2656a607ed..d057496e4e44 100644 Binary files a/doc/_static/boxplot_explanation.png and b/doc/_static/boxplot_explanation.png differ diff --git a/doc/_static/numfocus_badge.png b/doc/_static/numfocus_badge.png new file mode 100644 index 000000000000..b8d8e6ca838f Binary files /dev/null and b/doc/_static/numfocus_badge.png differ diff --git a/doc/_templates/index.html b/doc/_templates/index.html index 341bba6b96c0..c5d133f79470 100644 --- a/doc/_templates/index.html +++ b/doc/_templates/index.html @@ -178,7 +178,8 @@

Citing matplotlib

Open source

- + A Fiscally Sponsored Project of NUMFocus

Please consider donating diff --git a/doc/faq/virtualenv_faq.rst b/doc/faq/virtualenv_faq.rst index 9c385aafd256..934649f993c5 100644 --- a/doc/faq/virtualenv_faq.rst +++ b/doc/faq/virtualenv_faq.rst @@ -100,7 +100,7 @@ implemented in a script as below. To use this modify ``PYVER`` and PYTHON=${PATHTOPYTHON}python${PYVER} # find the root of the virtualenv, it should be the parent of the dir this script is in - ENV=`$PYTHON -c "import os; print os.path.abspath(os.path.join(os.path.dirname(\"$0\"), '..'))"` + ENV=`$PYTHON -c "import os; print(os.path.abspath(os.path.join(os.path.dirname(\"$0\"), '..')))"` # now run Python with the virtualenv set as Python's HOME export PYTHONHOME=$ENV diff --git a/doc/users/colormaps.rst b/doc/users/colormaps.rst index 86b404bbc4b7..407faad5c036 100644 --- a/doc/users/colormaps.rst +++ b/doc/users/colormaps.rst @@ -166,7 +166,7 @@ printed in grayscale. Color vision deficiencies ========================= -There is a lot of information available about color blindness available (*e.g.*, +There is a lot of information available about color blindness (*e.g.*, [colorblindness]_). Additionally, there are tools available to convert images to how they look for different types of color vision deficiencies (*e.g.*, [asp]_). diff --git a/doc/users/event_handling.rst b/doc/users/event_handling.rst index e63870b6bdf0..21c474bb648e 100644 --- a/doc/users/event_handling.rst +++ b/doc/users/event_handling.rst @@ -34,8 +34,8 @@ was pressed:: ax.plot(np.random.rand(10)) def onclick(event): - print 'button=%d, x=%d, y=%d, xdata=%f, ydata=%f'%( - event.button, event.x, event.y, event.xdata, event.ydata) + print('button=%d, x=%d, y=%d, xdata=%f, ydata=%f' % + (event.button, event.x, event.y, event.xdata, event.ydata)) cid = fig.canvas.mpl_connect('button_press_event', onclick) @@ -128,7 +128,7 @@ is created every time a mouse is pressed:: self.cid = line.figure.canvas.mpl_connect('button_press_event', self) def __call__(self, event): - print 'click', event + print('click', event) if event.inaxes!=self.line.axes: return self.xs.append(event.xdata) self.ys.append(event.ydata) @@ -196,7 +196,7 @@ Here is the solution:: contains, attrd = self.rect.contains(event) if not contains: return - print 'event contains', self.rect.xy + print('event contains', self.rect.xy) x0, y0 = self.rect.xy self.press = x0, y0, event.xdata, event.ydata @@ -207,7 +207,8 @@ Here is the solution:: x0, y0, xpress, ypress = self.press dx = event.xdata - xpress dy = event.ydata - ypress - #print 'x0=%f, xpress=%f, event.xdata=%f, dx=%f, x0+dx=%f'%(x0, xpress, event.xdata, dx, x0+dx) + #print('x0=%f, xpress=%f, event.xdata=%f, dx=%f, x0+dx=%f' % + # (x0, xpress, event.xdata, dx, x0+dx)) self.rect.set_x(x0+dx) self.rect.set_y(y0+dy) @@ -271,7 +272,7 @@ Extra credit solution:: if DraggableRectangle.lock is not None: return contains, attrd = self.rect.contains(event) if not contains: return - print 'event contains', self.rect.xy + print('event contains', self.rect.xy) x0, y0 = self.rect.xy self.press = x0, y0, event.xdata, event.ydata DraggableRectangle.lock = self @@ -361,22 +362,22 @@ background that the mouse is over:: import matplotlib.pyplot as plt def enter_axes(event): - print 'enter_axes', event.inaxes + print('enter_axes', event.inaxes) event.inaxes.patch.set_facecolor('yellow') event.canvas.draw() def leave_axes(event): - print 'leave_axes', event.inaxes + print('leave_axes', event.inaxes) event.inaxes.patch.set_facecolor('white') event.canvas.draw() def enter_figure(event): - print 'enter_figure', event.canvas.figure + print('enter_figure', event.canvas.figure) event.canvas.figure.patch.set_facecolor('red') event.canvas.draw() def leave_figure(event): - print 'leave_figure', event.canvas.figure + print('leave_figure', event.canvas.figure) event.canvas.figure.patch.set_facecolor('grey') event.canvas.draw() @@ -403,7 +404,6 @@ background that the mouse is over:: plt.show() - .. _object-picking: Object picking @@ -503,7 +503,8 @@ properties of the line. Here is the code:: xdata = thisline.get_xdata() ydata = thisline.get_ydata() ind = event.ind - print 'onpick points:', zip(xdata[ind], ydata[ind]) + points = tuple(zip(xdata[ind], ydata[ind])) + print('onpick points:', points) fig.canvas.mpl_connect('pick_event', onpick)