我想从这个事实开始,这不是一个关于如何确定颜色亮度的问题!
所以,我的问题是,我正在寻找一种方法来安排他们的亮度颜色的集合。我有一个函数,可以用所有提到的方法计算亮度**here等等。这是一篇很棒的文章,几乎完全符合我的需要,但我不确定有几件事,所以把它作为一个例子会帮助我解释我想实现的目标。
我想使用matplotlib.pyplot而不是使用散景来构建所有颜色的整个图。Bokeh做得很好,但我需要与项目中的其他东西保持一致,所以我需要用matplotlib重建它。我尝试了几种方法,但都没有达到我想要的效果。
此外,如果不是按照文章中的方式创建情节,我可以创建它垂直**,类似于答案**here,更具体地说,***Petr Hurtak和Kal*的答案,只在正方形中进行,而不是像他们那样使用 * 细长的垂直矩形 *。
从上述文章中获得的有用图像:
3条答案
按热度按时间iugsix8n1#
Colour将允许通过还使用更好的感知均匀的色彩空间来做到这一点,例如JzAzBz、Oklab、ICtCp:
您也可以将它们显示为网格,如下所示,尽管在更高的分辨率下速度要慢得多:
这里是一个谷歌Colab笔记本,如果你想直接在浏览器中尝试:https://colab.research.google.com/drive/1SD-ZU1clsHgHFyC0gpIP2fK9xBvYX-oS?usp=sharing
0ve6wy6x2#
我不太明白你的意思。但我的建议是…
您可以使用函数
np.flipud
,np.fliplr
和np.rot90
来获取其他图像8wtpewkr3#
经过几天的挖掘和测试,我想我成功地实现了我想要的,所以我在这里分享我的结果,以防其他人试图做类似的事情。基本上我使用的是代码this文章和this线程的组合。
1.生成随机颜色。首先,选择所需的颜色数量,然后获得该数量的四舍五入平方根的幂。这样做可以得到一个整数平方根的数字,以便稍后得到一个完美的WIDTH x HEIGHT网格。
1.用这个列表创建一个pandas Dataframe
color_df = pd.DataFrame({'color': list(color_list)})
1.定义绘图功能
这是我们给pandas dataframe函数的结果:
注意,figsize非常大。如果它更小,行数和列数都很大(在本例中为71),那么一些间隙开始消失或变得大小不一致。这也可以通过调整差距大小、矩形贴片尺寸、用flot数微调 figsize 来解决。
1.向DataFrame中添加一个新列,其中包含HSP计算值。
其中“x”显然是元组(R,G,B)
1.最后,我们按照这个新的“HSP”列对值进行排序,并将它们传递给函数
我们得到这个:
在参考文献中,它看起来像这样: