python - matplotlib 中的 2d hsv 颜色空间

标签 python numpy matplotlib

我正在尝试在 matplotlib 中重现此图(取自维基百科)

enter image description here

基本上是一个 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()

输出是:

enter image description here

关于python - matplotlib 中的 2d hsv 颜色空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10787103/

相关文章:

python - 时间戳传递给 matplotlib.date2num : 'str' object has no attribute 'toordinal'

python - 仅访问嵌套字典列表中的一个键并使用 matplotlib 绘制它

python - Matplotlib:如何在使用 plt.figure() 和 figure.addaxes() 时显示图像颜色条

python - 如何使用 Numba 加速 Python 中这个大的加法 for 循环?

python - 如何将十六进制字符串转换为十六进制数字

python - Numpy 查找大于前 n 个元素的元素

python - numpy ufuncs 速度与 for 循环速度

python - 计算python中每个目标变量的百分比

java - spark checkpoint ".bk"和 ".crc"文件的功能是什么?

python - 根据列中的值制作列表