2012-04-03 15 views
4

基本的に私の疑問は、私の試行のグラフをプロットするときに私のコードの一番下にあります。そこにカラージェネレータを走らせる方法はありますか?明示的に言えば、私は暖かい色のリストを作成し、それを私のプロット関数に入れることができます。そこでは、ループが実行されるときにリスト内の各色を実行するので、私のプロットは暖かい色から成り立ちます。カラーチェンジャーをループに入れることはできますか?

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

答えて

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

enter image description here

鍵は0と1の間の値でmatplotlibのカラーマップ・インスタンスを呼び出すと(0はカラーマップの最も低い色であり、1が最も高い)色を返すことです。

利用可能なカラーマップの一覧については、see hereを参照してください。これらのいずれかの逆のバージョンには、name_rでアクセスできます(たとえば、mpl.cm.autumnの逆のバージョンはmpl.cm.autumn_rです)。

+0

リンクは機能していません。 [here](https://matplotlib.org/users/colormaps.html)の情報があります。 – Karlo

関連する問題