Python 如何使pyplot散点标记不透明?

Python 如何使pyplot散点标记不透明?,python,matplotlib,scatter-plot,alpha,Python,Matplotlib,Scatter Plot,Alpha,我想画一幅线条图,在某些点上叠加不透明的散射标记。但是,即使在alpha=1的情况下,这些线仍在标记中闪烁: import matplotlib.pyplot as plt plt.close('all') plt.plot([0, 2], [0, 0], color='black') plt.scatter([1], [0], color='red', alpha=1) plt.savefig('/tmp/foo.png') 如何使红色标记真正不透明,即使其下方的黑线完全不可见?您的问题是

我想画一幅线条图,在某些点上叠加不透明的散射标记。但是,即使在
alpha=1
的情况下,这些线仍在标记中闪烁:

import matplotlib.pyplot as plt
plt.close('all')
plt.plot([0, 2], [0, 0], color='black')
plt.scatter([1], [0], color='red', alpha=1)
plt.savefig('/tmp/foo.png')


如何使红色标记真正不透明,即使其下方的黑线完全不可见?

您的问题是元素的z顺序。默认情况下,线将绘制在标记的顶部。使用
plt.scatter(…,zorder=3)
强制将标记置于顶部

导入matplotlib.pyplot作为plt
plt.绘图([0,2],[0,0],color='black')
plt.scatter([1],[0],color='red',alpha=1,zorder=3)
plt.show()

@JohanC是的,谢谢!