我正在尝试在 matplotlib 中重现此图(取自维基百科)
基本上是一个 2d hsv 颜色空间,其中饱和度设置为 1.0。这是我到目前为止所做的
from pylab import *
from numpy import outer
x = outer(arange(0, 1, 0.01), ones(100))
imshow(transpose(x), cmap=cm.hsv)
show()
这绘制了色调 channel ,但我不知道如何添加第二个 channel 。
最佳答案
您需要创建 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()
输出是:
关于python - matplotlib 中的 2d hsv 颜色空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10787103/