擅长:python、mysql、java
<p>我在这里的建议是使用一个双轴,并分享它将原来的轴,以固定滴答位置。然后您可以使用<code>FuncFormatter</code>来给记号加上正确的标签。这样做的好处是,您不需要事先确定绘图的限制,并且可以在绘图内自由缩放和平移。在</p>
<pre><code>import numpy as np
import matplotlib.pyplot as plt
from matplotlib.ticker import FuncFormatter
f = lambda q: np.log(q)
finv = lambda x: np.exp(x)
x = np.random.rand(100,)
y = f(np.random.rand(100,))
fig, ax = plt.subplots()
ax2 = ax.twinx()
ax.get_shared_y_axes().join(ax,ax2)
ax.scatter(x, y)
ax2.yaxis.set_major_formatter(FuncFormatter(lambda x,pos: f"{finv(x):.2f}"))
plt.show()
</code></pre>
<p><a href="https://i.stack.imgur.com/RPW5V.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/RPW5V.png" alt="enter image description here"/></a></p>