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

时间:2020-10-17 17:13:11

标签: 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')

red marker not opaque at all

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

1 个答案:

答案 0 :(得分:0)

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

import matplotlib.pyplot as plt
plt.plot([0, 2], [0, 0], color='black')
plt.scatter([1], [0], color='red', alpha=1, zorder=3)
plt.show()

example plot

相关问题