<ol>
<li><p>您可以手动设置suptitle的位置,如下所述:<a href="http://matplotlib.org/api/figure_api.html#matplotlib.figure.Figure.suptitle" rel="nofollow noreferrer">http://matplotlib.org/api/figure_api.html#matplotlib.figure.Figure.suptitle</a>
像这样使用它,x和y是绘图的相对坐标(从0到1):</p>
<pre><code>suptitle("Here goes the title", x=0.5, y=0.95)
</code></pre></li>
<li><p>您可以按如下所述设置图例位置:<a href="https://stackoverflow.com/a/4701285/5528308">https://stackoverflow.com/a/4701285/5528308</a>按照用户Joe Kington的建议尝试此操作</p>
<pre><code># Shrink current axis's height by 10% on the bottom
box = ax.get_position()
ax.set_position([box.x0, box.y0 + box.height * 0.1,
box.width, box.height * 0.9])
# Put a legend below current axis
ax.legend(loc='upper center', bbox_to_anchor=(0.5, -0.05),
fancybox=True, shadow=True, ncol=5)
</code></pre></li>
<li><p>绘图只显示9个值,因为x轴从1开始,而Python的迭代从0开始。由于在绘图中没有给出x值,Python从0绘图到9,但将轴限制在1到10之间。执行以下操作:</p>
<pre><code>x_vals = np.linspace(1,10,10)
line1 = ax1.plot(x_vals, list1,'bo-',label='list1')
</code></pre>
<p>对其他情节重复。</p></li>
<li><p>你说网格是什么意思?通常网格是指网格线,而您没有网格线。如果你指的是记号,你可以用<code>ax2.get_yaxis().set_ticks([])</code></p></li>
<li><p>尝试使用<code>plt.gcf().tight_layout()</code>。在大多数情况下,这将用适当的空格来排列你的绘图。</p></li>
</ol>