标签: python matplotlib scatter-plot alpha
我想绘制在某些点上叠加有不透明散布标记的线图。但是,即使使用alpha=1,线条仍然不断地穿过标记:
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')
如何使红色标记真正不透明,即使黑色线条在其下方完全不可见?
答案 0 :(得分:0)
您的问题是元素的z顺序。默认情况下,线条将在标记的顶部绘制。使用plt.scatter(..., zorder=3)将标记置于顶部。
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()