我们有一个我们要显示的热图。将组成正在显示的值的数字是未知的(除了它们将是正整数)。数字的范围也是未知的(再次,除了它们将是定位整数)。范围可以在0到200或578和1M之间。这取决于数据,这是未知的。
我们想采取一个未知的正整数范围,并将其转换为缩放(压缩)范围,以在热图中显示RGB值。我希望这是有道理的。
谢谢!
我想澄清一点,最小/最大值需要“插入”到forumla中。
解决方法
您需要先找到这些值的范围以获得最小和最大值。
然后,您需要创建一个像这个图像下面的颜色的颜色。您可以尝试使用不同的函数将整数映射到RGB。您需要3个功能R(X),G(X),B(X)。看下面的图像,它像中间的B(X)峰值,R(X)在最后高峰,绿色在别的地方。只要你确定你没有得到两个(RGBs)的一些X值,那么你有你的转换。
然后,您需要创建一个像这个图像下面的颜色的颜色。您可以尝试使用不同的函数将整数映射到RGB。您需要3个功能R(X),G(X),B(X)。看下面的图像,它像中间的B(X)峰值,R(X)在最后高峰,绿色在别的地方。只要你确定你没有得到两个(RGBs)的一些X值,那么你有你的转换。
alt text http://www.globalwarmingart.com/images/a/aa/Annual_Average_Temperature_Map.jpg
编辑:
来想想,你可以在YUV空间周围采样一些单位圆。
alt text http://www.biocrawler.com/w/images/e/ec/Yuv.png
或者甚至只需要下载一个高分辨率的彩色条形码并进行抽样。
编辑2:我只是面对色条生成,并记住了MATLAB / Octave colorbar代码。我绘制了他们的数据并获得了以下图像。