在同一轴上以相同颜色但颜色强度不同绘制多个图形

时间:2019-07-01 05:09:29

标签: python-3.x matplotlib

我正在尝试在同一轴上绘制多个具有相同颜色但颜色强度不同的图形。 但是,我的结果似乎对所有颜色都具有相同的强度,不确定该如何解决。

import numpy as np
import matplotlib.pyplot as plt
iterations = 3
for i in range(iterations):
    data = np.random.normal(size=10)
    plt.plot(data, c="red",alpha=1/3)
plt.show()    

all 3 plots are having the same color intensity

2 个答案:

答案 0 :(得分:0)

好吧,您为所有行指定了“红色”。您的计算机不知道您每次都会期望使用不同的红色。

您已经尝试过,可以调整alpha值;但是,您需要在每次迭代中设置不同的值。您可以使用i循环变量来做到这一点。

要进行更好的颜色控制,请使用RGB“元组”而不是颜色名称。也就是说,一个三元组的元组在0.0到1.0之间浮动,指定了“红色”,“绿色”和“蓝色”组成部分。

标准的“红色”是(1.0, 0.0, 0.0)

要获得更浅的阴影,请通过增加0.0来添加一些绿色和蓝色。要获得更深的阴影,请减少1.0

代码::

for i in range(iterations):
    data = ...
    plt.plot(data, c=(1.0, 0.1*i, 0.1*i), alpha=1/3)
    # or
    plt.plot(data, c="red", alpha=1.0-0.1*i)

另请参阅https://matplotlib.org/users/colors.html

答案 1 :(得分:0)

只需从代码中删除 c =“ red” 即可

    plt.plot(data,alpha=1/3)

code