我想让我的轴通过一个散点图中的原点(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()
最佳答案
您可以通过将散点的zorder
设置为<0
来解决此问题
例如:
plt.scatter(x,y,zorder=-5)
不幸的是,即使这样,它们在
ggplot
样式中也不是很明显:如果更改散点图和标签的颜色(请注意,标签明显位于下图中散点图的上方),则可以更清楚地看到这一点,因此可能需要进行实验以找到您喜欢的内容
ax.tick_params(labelcolor='r')
plt.scatter(x,y,color='w',zorder=-5)
关于python - 散点图覆盖的matplotlib轴刻度线标签(使用刺),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32652673/