所以基本上我想知道的是,当我绘制试验图时,我的代码底部是否有办法在那里运行颜色生成器?或者更明确地说,我可以制作一个暖色调列表,并将其放入我的绘图函数中,当循环遍历时,它会在列表中的每种颜色中运行,因此我的绘图只包含暖色调吗?
from numpy import *
from pylab import show,plot
from scipy.special import erfinv
n = 366 #number of days
ntrials = 5000
u = random.rand(ntrials)
v = sqrt(2.)*erfinv(2.*u-1.)
mu = 0
sigma = .05
investment = 1000.
data = empty((ntrials,n))
data[:,0] = investment
for t in range(n-1):
u = random.rand(ntrials)
v = sqrt(2.)*erfinv(2.*u-1.)
epsilon = v
data[:,t+1] = (1. + mu +sigma*epsilon)*data[:,t]
data2 = data.sum(axis=0)
woo = data2[-1]/ntrials
data3 = data2[-1]
x = linspace(0,n,n)
for t in range(n):
plot(x,data[t,:])
show()
答案 0 :(得分:14)
听起来你只是想要这样的东西?
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
# Generate data...
nx, nsteps = 100, 20
x = np.linspace(0, 1, nx)
data = np.random.random((nx, nsteps)) - 0.5
data = data.cumsum(axis=0)
data = data.cumsum(axis=1)
# Plot
cmap = mpl.cm.autumn
for i, y in enumerate(data.T):
plt.plot(x, y, color=cmap(i / float(nsteps)))
plt.show()
关键是调用matplotlib色彩映射实例的值介于0和1之间将返回一种颜色(其中0是色彩图中最低的颜色,1是最高的颜色)。
有关可用色彩映射的列表,see here。您可以使用name_r
访问其中任何一个版本的反转版本(例如mpl.cm.autumn
的反转版本为mpl.cm.autumn_r
)。