построение нескольких графиков на одной оси с одинаковым цветом, но разной интенсивностью цвета - PullRequest
1 голос
/ 01 июля 2019

Я пытаюсь построить несколько графиков на одной оси с одинаковым цветом, но разной интенсивностью цвета.Тем не менее, мои результаты имеют одинаковую интенсивность для всех цветов, не знаю, как это исправить.

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()    

все 3 графика имеют одинаковую интенсивность цвета

Ответы [ 2 ]

0 голосов
/ 01 июля 2019

Просто удалите c = "красный" из кода, он будет работать нормально

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

code

0 голосов
/ 01 июля 2019

Ну, вы указали "красный" для всех строк.Ваш компьютер не знает, что каждый раз вы ожидаете новый красный цвет.

Как вы уже пробовали, вы можете настроить альфа-значение;однако вам нужно установить разные значения на каждой итерации.Вы можете сделать это, используя переменную цикла 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...