直接上优化后的代码和效果图
colour_totall=128; % 载入地图数据 --各省的多边形数据 shp_data=shaperead('maps/bou2_4p.shp', 'UseGeoCoords', true);% 省 %{ // matlab 2016b已经解决这个问题了 % 检查数据发现中午名称为乱码,可能是由于字符编码引起的,需要纠正文件导入时出现的乱码 % 中文名称记录在相应的dbf文件中,可以使用Excel打开,并且不会出现乱码,截取其中的中文保存为文本文件 % 然后在导入工作区,并将其保存为*.mat格式文件,随用随取。 % 依次替换sheng数据中的乱码【算是变通之法,有谁知道更好的方法一定告诉我哦】 load chinese_name.mat % 省,省会,主要城市的正确中文 for i=1:length(sheng) sheng(i).NAME=sheng_chinese_name{i}; % 纠正中文显示错误 end unique(sheng_chinese_name) % 含有34个省(直辖市)的数据 length(sheng) % 共分为925个区块 %} % 使用importdata向导导入2011年全国31个省的人口数据 % data为人口数目 textdata为省名称 d=importdata('gaodu.txt'); data=d.data; % 海拔高度 province_arr=d.textdata; % 相对应的省的名称 % 定义地图参数 % 针对不同省份,分别设置不同的颜色(FaceColor) mycolorm