擅长:python、mysql、java
<p>您已经创建了所需的网格,但尚未在任何地方使用它</p>
<p><code>pandas.DataFrame.hist()</code>有一个参数<code>ax</code>,如下所示:</p>
<blockquote>
<p><strong>ax : Matplotlib axes object, default None</strong></p>
<p>The axes to plot the histogram on.</p>
</blockquote>
<p>此代码:</p>
<pre><code>fig, axs = plt.subplots(2, 2)
</code></pre>
<p>返回Matplotlib轴对象的Matplotlib图形<code>fig</code>和<code>numpy.array</code>(如果行或列为1,则为一维,否则为二维)</p>
<p>因此,您需要:</p>
<ol>
<li>在<code>axs</code>的展开版本上循环</li>
<li>将相应的<code>ax</code>对象传递给<code>df_new.hist()</code>方法</li>
</ol>
<p>例如:</p>
<pre><code>def my_function(df,zone,ax):
df_new = df[df['zone']=="{}".format(zone)]
df_new.hist(ax = ax)
# set title just for this subplot
ax.set_title("distances for zone {}".format(zone), loc = 'center')
fig, axs = plt.subplots(2, 2)
for zone, ax in zip(zoneList, axs.flatten()):
my_function(df,zone,ax)
</code></pre>