<h3 dir="auto">Bug report</h3>
<p dir="auto"><strong>Bug summary</strong></p>

<p dir="auto"><strong>Code for reproduction</strong></p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="import matplotlib.pyplot as plt
a = [[1,2],[3,4]]
plt.imshow(a)
plt.show()"><pre class="notranslate"><code class="notranslate">import matplotlib.pyplot as plt
a = [[1,2],[3,4]]
plt.imshow(a)
plt.show()
</code></pre></div>
<p dir="auto">Try to click on the 'edit axis, curve, and image parameters' button (the one with the wavy line with an arrow at the end) in the plot window.</p>
<p dir="auto"><strong>Actual outcome</strong></p>
<p dir="auto">When I click the 'edit axis, curve, and image parameters' button in the plot window, the window crashes with the following output:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Traceback (most recent call last):
  File &quot;/usr/lib/python3.6/site-packages/matplotlib/backends/backend_qt5.py&quot;, line 681, in edit_parameters
    figureoptions.figure_edit(axes, self)
  File &quot;/usr/lib/python3.6/site-packages/matplotlib/backends/qt_editor/figureoptions.py&quot;, line 168, in figure_edit
    + [(name, name) for name in sorted(image.iterpnames)])]
TypeError: 'method' object is not iterable
fish: “python matplotlibbug.py” terminated by signal SIGABRT (Abort)"><pre class="notranslate"><code class="notranslate">Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/matplotlib/backends/backend_qt5.py", line 681, in edit_parameters
    figureoptions.figure_edit(axes, self)
  File "/usr/lib/python3.6/site-packages/matplotlib/backends/qt_editor/figureoptions.py", line 168, in figure_edit
    + [(name, name) for name in sorted(image.iterpnames)])]
TypeError: 'method' object is not iterable
fish: “python matplotlibbug.py” terminated by signal SIGABRT (Abort)
</code></pre></div>
<p dir="auto"><strong>Expected outcome</strong></p>
<p dir="auto">Expected outcome is to open the window which allows to edit the axis and curve parameters. This works on matplotlib version 2.0.2</p>
<p dir="auto"><strong>Matplotlib version</strong></p>
<ul dir="auto">
<li>Operating system: Arch Linux</li>
<li>Matplotlib version: 2.1.0</li>
<li>Matplotlib backend (<code class="notranslate">print(matplotlib.get_backend())</code>): Qt5Agg</li>
<li>Python version: 3.6.2</li>
<li>Jupyter version (if applicable):</li>
<li>Other libraries:</li>
</ul>
<p dir="auto">I installed matplotlib from the packages in the Arch repos <a href="https://www.archlinux.org/packages/community/x86_64/python-matplotlib/" rel="nofollow">https://www.archlinux.org/packages/community/x86_64/python-matplotlib/</a></p>
<h3 dir="auto">Bug report</h3>
<p dir="auto"><strong>Bug summary</strong></p>
<p dir="auto">Clicking on the figure options button (only available in the Qt backend) when showing an image does not work anymore. The dialog does not open and the script throws a TypeError.</p>
<p dir="auto"><strong>Code for reproduction</strong></p>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="from matplotlib import use
use('Qt5Agg')

import numpy as np
import matplotlib.pyplot as plt

data = np.ones((10,10))

plt.figure()
plt.imshow(data)
plt.show()"><pre class="notranslate"><span class="pl-k">from</span> <span class="pl-s1">matplotlib</span> <span class="pl-k">import</span> <span class="pl-s1">use</span>
<span class="pl-en">use</span>(<span class="pl-s">'Qt5Agg'</span>)

<span class="pl-k">import</span> <span class="pl-s1">numpy</span> <span class="pl-k">as</span> <span class="pl-s1">np</span>
<span class="pl-k">import</span> <span class="pl-s1">matplotlib</span>.<span class="pl-s1">pyplot</span> <span class="pl-k">as</span> <span class="pl-s1">plt</span>

<span class="pl-s1">data</span> <span class="pl-c1">=</span> <span class="pl-s1">np</span>.<span class="pl-en">ones</span>((<span class="pl-c1">10</span>,<span class="pl-c1">10</span>))

<span class="pl-s1">plt</span>.<span class="pl-en">figure</span>()
<span class="pl-s1">plt</span>.<span class="pl-en">imshow</span>(<span class="pl-s1">data</span>)
<span class="pl-s1">plt</span>.<span class="pl-en">show</span>()</pre></div>
<p dir="auto">Click on figure options button (the second one from the right).</p>
<p dir="auto"><strong>Actual outcome</strong></p>
<p dir="auto">Figure options dialog is not shown, instead a TypeError is thrown:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Traceback (most recent call last):
  File &quot;/usr/lib/python2.7/site-packages/matplotlib/backends/backend_qt5.py&quot;, line 681, in edit_parameters
    figureoptions.figure_edit(axes, self)
  File &quot;/usr/lib/python2.7/site-packages/matplotlib/backends/qt_editor/figureoptions.py&quot;, line 168, in figure_edit
    + [(name, name) for name in sorted(image.iterpnames)])]
TypeError: 'instancemethod' object is not iterable"><pre class="notranslate"><code class="notranslate">Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/matplotlib/backends/backend_qt5.py", line 681, in edit_parameters
    figureoptions.figure_edit(axes, self)
  File "/usr/lib/python2.7/site-packages/matplotlib/backends/qt_editor/figureoptions.py", line 168, in figure_edit
    + [(name, name) for name in sorted(image.iterpnames)])]
TypeError: 'instancemethod' object is not iterable
</code></pre></div>
<p dir="auto"><strong>Expected outcome</strong></p>
<p dir="auto">Figure options dialog is opened and the script does not throw the TypeError. Used to work in matplot 2.0.2.</p>
<p dir="auto"><strong>Matplotlib version</strong></p>
<p dir="auto">Bug introduced in matplotlib 2.1.0, specifcally this commit:</p>
<p dir="auto"><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/matplotlib/matplotlib/commit/6ee70cb49705f9057c5716f9bc2a4147eead5442/hovercard" href="https://github.com/matplotlib/matplotlib/commit/6ee70cb49705f9057c5716f9bc2a4147eead5442"><tt>6ee70cb</tt></a></p>
<p dir="auto">changes 'iterpnames' from a variable (which is iterable) into a function (which must be called). The callside (figureoptions.py) was not modified accordingly. I guess adding '()' after iterpnames in figureoptions.py line 168 fixes the problem (untested).</p>