Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.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_Mapping - Fatal编程技术网

Matlab 点形状文件的颜色栏

Matlab 点形状文件的颜色栏,matlab,mapping,Matlab,Mapping,[![enter image description here][1][1]您好,我已使用geoshow功能在美国地图上绘制了点形状文件。示例代码如下: i=1时的:长度(X_1991_05) 如果(X_1991_05(i,3)-0.7和X_1991_05(i,3)-0.6和X_1991_05(i,3)-0.5和X_1991_05(i,3)-0.4和X_1991_05(i,3)-0.2和X_1991_05(i,3)0.2和X_1991_05(i,3)0.4和X_1991_05(i,3)=0.5)

[![enter image description here][1][1]您好,我已使用geoshow功能在美国地图上绘制了点形状文件。示例代码如下:

i=1时的
:长度(X_1991_05)
如果(X_1991_05(i,3)-0.7和X_1991_05(i,3)<-0.6);
h2=地理显示(Lat、Lon、'DisplayType'、'point'、'MarkerEdgeColor'、'k'、'MarkerFaceColor',rgb('DarkOrange')、'MarkerSize',9、'Marker','o');等等
elseif(X_1991_05(i,3)>-0.6和X_1991_05(i,3)<-0.5);
h3=地理显示(Lat、Lon、'DisplayType'、'point'、'MarkerEdgeColor'、'k'、'MarkerFaceColor',rgb('DarkKhaki')、'MarkerSize',9、'Marker','o');等等
elseif(X_1991_05(i,3)>-0.5和X_1991_05(i,3)<-0.4);
h4=地理显示(Lat、Lon、'DisplayType'、'point'、'MarkerEdgeColor'、'k'、'MarkerFaceColor',rgb('Gold')、'MarkerSize',9、'Marker','o');等等
elseif(X_1991_05(i,3)>-0.4和X_1991_05(i,3)<-0.2);
h5=地理展示(Lat、Lon、'DisplayType'、'point'、'MarkerEdgeColor'、'k'、'MarkerFaceColor',rgb('Khaki')、'MarkerSize',9、'Marker','o');等等
elseif(X_1991_05(i,3)>-0.2和X_1991_05(i,3)<0.2);
h6=地理显示(Lat、Lon、'DisplayType'、'point'、'MarkerEdge Color'、'k'、'MarkerFaceColor',rgb('米色')、'MarkerSize',9、'Marker','o');等等
elseif(X_1991_05(i,3)>0.2和X_1991_05(i,3)<0.4);
h7=地理显示(Lat、Lon、'DisplayType'、'point'、'MarkerEdge Color'、'k'、'MarkerFaceColor',rgb('Aqua')、'MarkerSize',9、'Marker','o');等等
elseif(X_1991_05(i,3)>0.4和X_1991_05(i,3)<0.5);
h8=地理显示(Lat、Lon、'DisplayType'、'point'、'MarkerEdgeColor'、'k'、'MarkerFaceColor',rgb('CornflowerBlue')、'MarkerSize',9、'Marker','o');等等
elseif(X_1991_05(i,3)>=0.5);
h9=地理显示(Lat、Lon、'DisplayType'、'point'、'MarkerEdge Color'、'k'、'MarkerFaceColor',rgb('Navy')、'MarkerSize',9、'Marker','o');等等
结束
结束

现在我想要一个基于h1值的颜色条。。。。h9?此处显示了一个示例:

我不知道怎么做。。。有什么帮助吗


[1] ::如果我在代码中使用colorbar,我会得到如图2所示的图片(附加链接)

Ok。因此,您正在使用自己的colormap,这就是为什么单个
colorbar
命令对您没有帮助,因为您没有告诉MATLAB您正在使用什么colormap

在您的情况下,可以按如下方式设置颜色贴图:

cmap = zeros(9,3);
cmap(1,:) = (139, 0, 0);
cmap(2,:) = (255, 140, 0);      % rgb code for dark orange
cmap(3,:) = (189, 183, 107);    % dark khaki
cmap(4,:) = (255, 215, 0);      % gold
cmap(5,:) = (240, 230, 140);    % Khaki
cmap(6,:) = (245, 245, 220);    % Beige
cmap(7,:) = (127, 255, 212);    % Aquamarine
cmap(8,:) = (100, 149, 237);    % Cornflower blue
cmap(9,:) = (0, 0, 128);        % Navy
cmap = cmap/255;  % MALTAB takes rgb indexes in the range [0 1]
if (X_1991_05(i,3) <= -0.7)
        h1 = geoshow(Lat, Lon, 'DisplayType', 'point', 'MarkerEdgeColor', 'k', 'MarkerFaceColor', cmap(1,:), 'MarkerSize',9, 'Marker', 'o'); hold on;
....
然后您可以像这样使用颜色贴图:

cmap = zeros(9,3);
cmap(1,:) = (139, 0, 0);
cmap(2,:) = (255, 140, 0);      % rgb code for dark orange
cmap(3,:) = (189, 183, 107);    % dark khaki
cmap(4,:) = (255, 215, 0);      % gold
cmap(5,:) = (240, 230, 140);    % Khaki
cmap(6,:) = (245, 245, 220);    % Beige
cmap(7,:) = (127, 255, 212);    % Aquamarine
cmap(8,:) = (100, 149, 237);    % Cornflower blue
cmap(9,:) = (0, 0, 128);        % Navy
cmap = cmap/255;  % MALTAB takes rgb indexes in the range [0 1]
if (X_1991_05(i,3) <= -0.7)
        h1 = geoshow(Lat, Lon, 'DisplayType', 'point', 'MarkerEdgeColor', 'k', 'MarkerFaceColor', cmap(1,:), 'MarkerSize',9, 'Marker', 'o'); hold on;
....

在代码中包含行
colorbar
怎么样?你喜欢输出吗?我看不出你的问题有什么特别的问题,没有任何数据我也无法复制你的图。你需要数据吗?我还使用了rgb函数在MATLAB文件交换。。。你能展示一些示例代码吗?我在代码中包含了线条颜色栏。。。它不会复制形状文件的颜色。