擅长:python、mysql、java
<p>您可以将<code>annotate</code>与<a href="https://matplotlib.org/tutorials/advanced/transforms_tutorial.html#blended-transformations" rel="nofollow noreferrer">blended transformation</a>一起使用:</p>
<pre><code>import matplotlib.pyplot as plt
plt.plot([1,2], [2,4], label='data')
plt.plot([1.7], [3.4], marker='o')
plt.grid(True)
x,y = 1.7, 3.4
arrowprops={'arrowstyle': '-', 'ls':' '}
plt.annotate(str(x), xy=(x,y), xytext=(x, 0),
textcoords=plt.gca().get_xaxis_transform(),
arrowprops=arrowprops,
va='top', ha='center')
plt.annotate(str(y), xy=(x,y), xytext=(0, y),
textcoords=plt.gca().get_yaxis_transform(),
arrowprops=arrowprops,
va='center', ha='right')
</code></pre>
<p><a href="https://i.stack.imgur.com/WitLN.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/WitLN.png" alt="enter image description here"/></a></p>
<p>这并不完美,因为您可能仍然需要手动调整轴坐标(例如<code>-0.05</code>而不是<code>0</code>),以将标签设置得稍微偏离轴</p>