擅长:python、mysql、java
<p>这对我有用</p>
<pre><code>import numpy as np
import matplotlib.pyplot as plt
xval = np.array([0,0,0,3,3,3,0,2,3,0])
yval = np.array([0,2,3,5,1,0,1,0,4,5])
zval = yval**2-4
fig = plt.figure(figsize=(6,6))
ax = plt.subplot(111)
ax.scatter(xval,yval,cmap=plt.cm.rainbow,c=zval,s=550,zorder=20)
ax.set_ylim(-1,6)
ax.set_xlim(-1,4)
#These don't work
ax.tick_params(labelcolor='k', zorder=100)
ax.tick_params(direction='out', length=4, color='k', zorder=100)
#This will work but I don't want to have to do this for the plot edges every time
ax.axvline(0,c='k',zorder=100)
plt.show()
</code></pre>
<p>你的圆尺寸足够大,它们超出了轴的范围。所以我们只需更改<code>ylim</code>和<code>xlim</code></p>
<p>已更改</p>
<pre><code>ax.set_ylim(0,5)
ax.set_xlim(0,3)
</code></pre>
<p>至</p>
<pre><code>ax.set_ylim(-1,6)
ax.set_xlim(-1,4)
</code></pre>
<p>而且,zorder在将点推到边缘方面也不起作用。你知道吗</p>
<p><a href="https://i.stack.imgur.com/qWxoT.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/qWxoT.png" alt="enter image description here"/></a></p>