避免 matplotlib 中重叠的不透明度

XYZ*_*YZT 7 python matplotlib

如果我想绘制两条彼此相交的非不透明线,则在它们相交的区域中会得到一个不透明度较高的区域:

import matplotlib.pyplot as plt

plt.plot([-1, 1], [0, 0], 'k-', lw=10, alpha=0.5, zorder=1)
plt.plot([0, 0], [-1, 1], 'k-', lw=10, alpha=0.5, zorder=1)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

有没有办法避免这种情况,并且让交叉区域也具有与其余线条完全相同的颜色和不透明度?

jim*_*imh 0

我认为tom10的评论非常准确,但你也许可以做一个公认的丑陋的解决方法,因为你必须知道绘图之前输入的值,所以只绘制直到交点,然后继续将交点绘制为另一条线,这样它看起来与其余线路相同。