我想让我的轴通过一个散点图中的原点(0,0),这就是为什么我在下面的例子中设置了棘点的原因。问题是,我在散点图上的实际数据点覆盖了轴刻度标签,因此它们无法被看到。
如何让MatMattLIB用我的轴刻度标签“覆盖”数据点,以便他们可以看到?

import numpy as np
from matplotlib import pyplot as plt
plt.style.use('ggplot')


x = np.random.randn(5000)
y = np.random.randn(5000)

f, ax = plt.subplots()
plt.scatter(x,y)
ax.spines['left'].set_position('zero')
ax.spines['left'].set_color('black')
ax.spines['right'].set_color('none')
ax.spines['bottom'].set_position('zero')
ax.spines['bottom'].set_color('black')
ax.spines['top'].set_color('none')

plt.show()

python - 散点图覆盖的matplotlib轴刻度线标签(使用刺)-LMLPHP

最佳答案

您可以通过将散点的zorder设置为<0来解决此问题
例如:

plt.scatter(x,y,zorder=-5)

不幸的是,即使这样,它们在ggplot样式中也不是很明显:
python - 散点图覆盖的matplotlib轴刻度线标签(使用刺)-LMLPHP
如果更改散点图和标签的颜色(请注意,标签明显位于下图中散点图的上方),则可以更清楚地看到这一点,因此可能需要进行实验以找到您喜欢的内容
ax.tick_params(labelcolor='r')
plt.scatter(x,y,color='w',zorder=-5)

python - 散点图覆盖的matplotlib轴刻度线标签(使用刺)-LMLPHP

关于python - 散点图覆盖的matplotlib轴刻度线标签(使用刺),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32652673/

10-10 13:11