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

在MATLAB中,我想用图例绘制一张地图,显示不同的区域。

在MATLAB中,我想用图例绘制一张地图,显示不同的区域。,matlab,Matlab,在MATLAB中,我想用图例绘制一张地图,显示不同的区域 例如: my_map = shaperead('my_shape_file.shp'); Equator = [0.1 0.5 0.8]; Tropical = [0.8 0.4 0.6]; Subtropical = [0.7 0.1 0.5]; mapColors = makesymbolspec('Polygon',{'GRID_CODE',1,'Facecolor',Equator},{'GRID_CODE',2,'Facec

在MATLAB中,我想用图例绘制一张地图,显示不同的区域

例如:

my_map = shaperead('my_shape_file.shp');

Equator = [0.1 0.5 0.8];
Tropical = [0.8 0.4 0.6];
Subtropical = [0.7 0.1 0.5];

mapColors = makesymbolspec('Polygon',{'GRID_CODE',1,'Facecolor',Equator},{'GRID_CODE',2,'Facecolor',Tropical},{'GRID_CODE',3,'Facecolor',Subtropical});

h = mapshow(my_map,'SymbolSpec',mapColors);

legend(h,{'Equatorial','Tropical','Subtropical'})

axis off
但是,此图例不起作用-它只显示“赤道”区域。有什么建议吗

附加查询:我还想在地图上显示城市名称。如何(a)确定我的形状文件是否包含城市名称/标签,以及(b)在地图上显示这些名称/标签


谢谢大家!

您是否收到“忽略额外图例条目”之类的警告?您是否尝试过在
makesymbolspec()
中交换顺序以检查是否只看到第一个条目。还有,为什么在图例中使用
{}
。通常它的
图例(h,string1,string2,string3)
,最后但并非最不重要的是,您现在可以上传结果的图片吗?文档中说“图例(h,M)将字符串M的矩阵或单元数组的每一行与句柄h向量中的对应图形对象(面片或线)相关联。”因此,我猜想在你的例子中,
h
不是一个向量。实际上,文档中进一步指出“
h=mapshow(
)…返回一个
hggroup对象的句柄,每个特性有一个子对象。”因此,您应该探索这一点,并且可能需要执行类似
图例([h.ch1,h.ch2,h.ch3],{…})
@patrik是的操作,这正是我得到的。谢谢大家,我们将探索儿童选项。