擅长:python、mysql、java
<p>我看到你贴的答案,就试了一下。但问题是,它也取决于数字大小。</p>
<p>下面是一个新的尝试:</p>
<pre><code>import numpy
import matplotlib.pyplot as plt
x = numpy.linspace(0, 10, 10000)
y = numpy.cos(x) + 2.
x_value = .014 #Offset by eye
y_value = .55
fig, ax = plt.subplots(1, 2, sharex = False, sharey = False)
fig.set_size_inches(50,30)
ax[0].plot(x, y, label = "cos")
ax[0].set_ylim([0.8,3.2])
ax[0].legend(loc=2)
line1 ,= ax[1].plot(x,y)
ax[1].set_ylim([0.8,3.2])
axbox = ax[1].get_position()
fig.legend([line1], ["cos"], loc = (axbox.x0 + x_value, axbox.y0 + y_value))
plt.show()
</code></pre>
<p>所以我现在做的基本上是从子块中得到坐标。然后根据整个图形的尺寸创建图例。因此,图形大小不再改变图例的位置。</p>
<p>使用<code>x_value</code>和<code>y_value</code>的值,图例可以定位在子批次中。<code>x_value</code>已被密切关注,以寻找与“正常”传说的良好对应。这个值可以根据你的意愿改变。<code>y_value</code>确定图例的高度。</p>
<p><img src="https://i.stack.imgur.com/pBtXN.png" alt="enter image description here"/></p>
<p>祝你好运!</p>