2017-07-29 9 views
0

私はRクラスタにポイントを持っています。私は数字を作成し、これらのRのクラスタを繰り返し、各繰り返しでiのクラスタiから点(scatter)を描画し、他のクラスタの点の色とは異なるの知覚的にになります。オクターブ/ MATLABでMatplotlibのMatlabのhsv(m)に相当する

、私はちょうど

colors = hsv(R); 
figure; hold on; 
for i = 1:R 
    ... 
    c = colors(i,:); 
    % draw with color c 
    ... 
end 

を行いたいとの点の各ライン/セットは、結果の図では他人から容易に識別することでしょう。私はMatplotlibのこの魔法のhsv(n)関数を見逃しています。私はMatplotlibのために5分もかからずにグーグルではできないことに驚いたので、うまくいけば他の怠惰なものの参考となります。

EDIT:

@ImportanceOfBeingErnestが正しいです。 MatplotlibはMatlabとは異なり、各プロット演算に異なる色を割り当てます。 https://stackoverflow.com/a/16006929/214720

+0

Iは、[それをグーグル]ができた(http://www.google.de/search?q=matplotlib+hsv+colormap)。 – ImportanceOfBeingErnest

答えて

2

matplotlibのhsvカラーマップの名前は(oh wonder)hsvです。すべてのカラーマップの参照については、Colormap referenceを参照してください。

matplotlibのカラーマップの範囲は0〜1です。したがって、カラーマップを適用するには、入力を正規化する必要があります。分、次いで以下に

import matplotlib.pyplot as plt 
import numpy as np 

R = np.linspace(0,1) 
color=plt.cm.hsv(R) 

又は

R = np.linspace(-3,42) 
norm= plt.Normalize(-3,42) 
color=plt.cm.hsv(norm(R)) 
関連する問題