Matplotlib:曲线重叠时如何防止透明颜色叠加?

Matplotlib: How to prevent transparent color overlay when curve overlaps?

比如我们这里画一条透明色的线

import numpy as np
import matplotlib.pyplot as plt

a = np.array([1, 2, 3, 4, 5])
b = 2*a
plt.plot(a, b, 'blue', alpha=0.3)
plt.show()

但是我多次绘制同一条线,它与自身重叠,所以它与自身重叠得越多,它就会变得越暗。

import numpy as np
import matplotlib.pyplot as plt


a = np.array([1, 2, 3, 4, 5])
b = 2*a
for i in range(3):
    plt.plot(a, b, 'blue', alpha=0.3)
plt.show()

那么如何防止颜色重叠?

提前谢谢大家!

更新:为什么我需要这个?

我正在进行公差分析。这意味着,参数在一个小范围内自行变化,我将为每次变化绘制曲线。然后我可以找到最坏的情况。

如果我选择纯色但较浅的颜色。它看起来像:

如您所见,由于颜色不透明,我无法观察到被其他线覆盖的节点。

更新二:

单行不重叠。因此,您可以将多个地块连接成一个地块。

import numpy as np
import matplotlib.pyplot as plt


a = np.array([1, 2, 3, 4, 5])
b = 2*a

A = np.tile(np.append(a,[np.nan]),3)
B = np.tile(np.append(b,[np.nan]),3)

plt.plot(A, B, 'blue', alpha=0.3)
plt.show()

这基本上是这个问题的反面,其中这种效果是不希望的。