由于某些原因,当我在散点图中使用zorder
时,点的边缘与轴重叠。我尝试了[here](matplotlib axis tick labels covered by scatterplot (using spines))中的一些解决方案,但它们对我不起作用。有办法防止这种情况发生吗?
我知道我也可以在边界添加一个ax.axvline()
,但这对于许多绘图来说是一个烦人的解决方法。
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(0,5)
ax.set_xlim(0,3)
#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()
最佳答案
您可以使用以下带有大量zorder
的代码来修复重叠。这将同时在x轴和y轴上起作用。
for k,spine in ax.spines.items():
spine.set_zorder(1000)
关于python - 散点图重叠轴,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57471140/