Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab颜色映射中的不规则区间_Matlab_Plot_Colorbar_Rescale - Fatal编程技术网

Matlab颜色映射中的不规则区间

Matlab颜色映射中的不规则区间,matlab,plot,colorbar,rescale,Matlab,Plot,Colorbar,Rescale,我正在使用Matlab中的“面片”函数绘制值,其中存储在向量中的数据定义面片的颜色 我的数据范围从0到5,但大多数数据集中在0.5和4.5左右。如果我设置了colormap[0-1]的限制,我将丢失较高值中的细节,如果我设置了范围[0-5],我将丢失绘图中较低值的信息 我试图创建自己的颜色地图,在三个RGB列中定义颜色,但不了解颜色是如何分布的。如何定义间距,以便在较低和较高的值中获得更多的定义?还有别的办法吗 来自文档: 要创建自定义颜色贴图,请将贴图指定为RGB三元组的三列矩阵,其中每行定义

我正在使用Matlab中的“面片”函数绘制值,其中存储在向量中的数据定义面片的颜色

我的数据范围从0到5,但大多数数据集中在0.5和4.5左右。如果我设置了colormap[0-1]的限制,我将丢失较高值中的细节,如果我设置了范围[0-5],我将丢失绘图中较低值的信息

我试图创建自己的颜色地图,在三个RGB列中定义颜色,但不了解颜色是如何分布的。如何定义间距,以便在较低和较高的值中获得更多的定义?还有别的办法吗

来自文档:

要创建自定义颜色贴图,请将贴图指定为RGB三元组的三列矩阵,其中每行定义一种颜色。RGB三元组是一个三元素行向量,其元素指定颜色的红色、绿色和蓝色分量的强度。强度必须在[0,1]范围内。例如,该矩阵定义了一个包含五种颜色的颜色映射


我要做的是选择你所选择的色标和更多的中间值,这样大多数的变化就被推到较低的和较高的值。

编程方式有很多不同的方式,但是如果只使用一次,你可以使用Matlab内置的,我想你需要一个。这可能会对你有所帮助:只需在与你相关的
x
点设置你的颜色,例如
x=[0.5 4.5]
。这基本上就是我所认为的建议。
map = [0.2, 0.1, 0.5
    0.1, 0.5, 0.8
    0.2, 0.7, 0.6
    0.8, 0.7, 0.3
    0.9, 1, 0];