График становится смелее после каждой итерации - PullRequest
0 голосов
/ 14 февраля 2020

Итак, я генерирую графики на одном и том же рисунке в течение данной итерации. Поскольку у меня есть несколько графиков, я хочу, чтобы они начали исчезать, и по мере продвижения итерации они становятся все смелее и смелее. Важно иметь графики одного цвета.

Составленный код на случай, если вы захотите попробовать себя:

from scipy.stats import norm
import matplotlib.pyplot as plt
import numpy as np 

i = np.array([1,1.2,1.4,1.6,1.8,2.0,3.0,4.0,5.0,6.0,7.0])
x = np.arange(-10, 10, .1)

for i in range(0,len(i)):
    rv1 = norm(loc = 0., scale = 1.0*i)
    plt.plot(x,rv1.pdf(x),  color ='b')

plt.show()

Я хочу, чтобы мой график напоминал что-то вроде этого:

enter image description here

Ответы [ 2 ]

3 голосов
/ 14 февраля 2020

Вы можете сделать это, используя аргумент alpha для plot, например:

from scipy.stats import norm
import matplotlib.pyplot as plt
import numpy as np 

idx = np.array([1,1.2,1.4,1.6,1.8,2.0,3.0,4.0,5.0,6.0,7.0])
xxx = np.arange(-10, 10, .1)

for i in range(0,len(idx)):
    rv1 = norm(loc = 0., scale = 1.0*i)
    plt.plot(xxx,rv1.pdf(xxx),  color ='b', alpha=i / len(idx))

plt.show()

enter image description here

Обратите внимание, что я переименовал некоторые переменные .

1 голос
/ 14 февраля 2020

Вы можете использовать переменную ширину линии и параметр прозрачности alpha следующим образом. Начните с некоторых начальных значений, а затем увеличьте толщину линии на 20% (например) и уменьшите альфа на 10%

PS: я прочитал комментарий IOBE и добавил его к моему для l oop для читатели. Не называйте переменную итератора и массив с одинаковым именем i. Я теперь использовал ii в для l oop

wid = 0.8
alpha=0.9

for ii in range(0,len(i)):
    rv1 = norm(loc = 0., scale = 1.0*ii)
    plt.plot(x,rv1.pdf(x),  color ='b', lw=wid, alpha=alpha)
    wid *= 1.2
    alpha *= 0.9

enter image description here

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