Issue 1:
Somewhere between all the convert things to OO and restructure gallery PRs, the pyplot section of the gallery now has very little pyplot content:

PyPlot

plot() format string

Pyplot mathtext

Pyplot simple

Pyplot text

Pyplot three

Pyplot two subplots

OO

Align y-labels

Annotate Transform

Annotate a plot

Annotate Polar

Auto Subplots Adjust

Boxplot Demo

Dollar Ticks

Fig Axes Customize Simple

Simple Axes labels

Adding lines to figures

Text Commands

Text Layout

what's new examples in #15920

I think there should be a standalone pyplot only gallery page, but think for this PR a potential resolution would be to sort the OO examples into the correct sections (possibly combining them with existing content) or altogether remove them if they're not adding any information.

xref: #15355 because I think this contributes to some of the confusion discussed there.

Issue 2:
Bug report

Bug summary

When by mistake the same label is used with fill_between with difference facecolor attributes, matplotlib crash with a very unhelpful message.

Code for reproduction

import matplotlib.pylab as plt
f, ax = plt.subplots(1, 1, figsize=(1, 4))
p = ax.semilogy(range(10), range(10), label="label1")
p = ax.semilogy(range(10), range(10), label="label2")
ax.fill_between(range(1,11), 0, 10,
facecolor=p[-1].get_color(),
edgecolor=None, alpha=0.25, label="label4")
p = ax.semilogy(range(10), range(10), label="label3")
ax.fill_between(range(1,11), 0, 10,
facecolor=p[-1].get_color(),
edgecolor=None, alpha=0.25, label="label4")

ax.legend(loc="lower center")

Actual outcome

---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-1-fca22924ade8> in <module>()
11 edgecolor=None, alpha=0.25, label="label4")
12
---> 13 ax.legend(loc="lower center")

/home/oreilly/python_venv/venv-3.4/lib/python3.5/site-packages/matplotlib/axes/_axes.py in legend(self, *args, **kwargs)
495 [self],
496 *args,
--> 497 **kwargs)
498 if len(extra_args):
499 raise TypeError('legend only accepts two non-keyword arguments')

/home/oreilly/python_venv/venv-3.4/lib/python3.5/site-packages/matplotlib/legend.py in _parse_legend_args(axs, *args, **kwargs)
1401 # No arguments - automatically detect labels and handles.
1402 elif len(args) == 0:
-> 1403 handles, labels = _get_legend_handles_labels(axs, handlers)
1404 if not handles:
1405 log.warning('No handles with labels found to put in legend.')

/home/oreilly/python_venv/venv-3.4/lib/python3.5/site-packages/matplotlib/legend.py in _get_legend_handles_labels(axs, legend_handler_map)
1359 if (label
1360 and not label.startswith('_')
-> 1361 and not _in_handles(handle, label)):
1362 handles.append(handle)
1363 labels.append(label)

/home/oreilly/python_venv/venv-3.4/lib/python3.5/site-packages/matplotlib/legend.py in _in_handles(h, l)
1343 try:
1344 print(type(f_h.get_facecolor()), f_h.get_facecolor(), h.get_facecolor())
-> 1345 if f_h.get_facecolor() != h.get_facecolor():
1346 continue
1347 except AttributeError:

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

Expected outcome

Either two entries in the legend with the same label, but different colors (if you allow to have two time a same label) or a helpful error message when calling the plotting function reusing an existing label.

If it might help you speed up your debugging, when executing we get:

f_h.get_facecolor() == [[1. 0.49803922 0.05490196 0.25 ]]

h.get_facecolor() == [[0.17254902 0.62745098 0.17254902 0.25 ]]

type(f_h.get_facecolor() ) == <class 'numpy.ndarray'>

So, the error comes from the fact the types of f_h.get_facecolor() becomes a numpy.array in this condition and that, as opposed to list for example, you cannot have "if array1 == array2 : " without the use of the "any()" or "all()", as mentioned by the error message.

Matplotlib version

Operating system: Ubuntu 16.04 LTS

Matplotlib version: 1.14.0'

Matplotlib backend (print(matplotlib.get_backend())): module://ipykernel.pylab.backend_inline

Python version: '3.5.2 (default, Nov 23 2017, 16:37:01) \n[GCC 5.4.0 20160609]'

Jupyter version (if applicable): 4.4.0

Other libraries: