9

このグラフをmatplotlib(ウィキペディアから取得)で再現しようとしています

ここに画像の説明を入力してください

基本的に、彩度が1.0に設定されている2dhsv色空間。これが私がこれまでにしたことです

from pylab import *
from numpy import outer

x = outer(arange(0, 1, 0.01), ones(100))

imshow(transpose(x), cmap=cm.hsv)
show()

これは色相チャネルをプロットしますが、2番目のチャネルを追加する方法がわかりません。

4

1 に答える 1

22

HSV配列を作成し、それをRGBに変換する必要があります。例を次に示します。

import numpy as np
import pylab as pl
from matplotlib.colors import hsv_to_rgb

V, H = np.mgrid[0:1:100j, 0:1:300j]
S = np.ones_like(V)
HSV = np.dstack((H,S,V))
RGB = hsv_to_rgb(HSV)
pl.imshow(RGB, origin="lower", extent=[0, 360, 0, 1], aspect=150)
pl.xlabel("H")
pl.ylabel("V")
pl.title("$S_{HSV}=1$")
pl.show()

出力は次のとおりです。

ここに画像の説明を入力してください

于 2012-05-29T00:51:51.443 に答える