错误使用 plot 值不是数值标量
时间: 2023-07-30 22:09:55 浏览: 385
抱歉,我在修改代码时犯了一个错误。根据您的数据,我假设`h`是一个与`x`、`y`、`z`和`c`相同大小的向量。请使用以下修正后的代码:
```matlab
clear;
clc;
M = xlsread('D:\math mode\数学建模课设\As.xlsx');
x = M(:,2);
y = M(:,3);
z = M(:,4);
c = M(:,5);
h = M(:,6); % 新添加的一组数据h
xi = linspace(min(x),max(x));
yi = linspace(min(y),max(y));
Zi = griddata(x,y,z,xi,yi','v4');
marker = {'d','o','^','s','p'};
color = jet(5); % 使用jet colormap将颜色从蓝转绿再转红
str = {'等高线','生活区','工业区','山林区','交通区','绿地区'};
str1 = {'等值线','生活区','工业区','山林区','交通区','绿地区'};
figure;
contour(xi,yi,Zi,-150:20:300,'LineWidth',1);
xlabel('X');
ylabel('Y');
title('地形等高线及城区功能分布图');
axis tight;
axis image;
colorbar;
grid on;
hold on;
for i = 1:5
loc = c == i;
plot(x(loc),y(loc),marker{i},'MarkerFaceColor',color(i,:),'MarkerEdgeColor',color(i,:),'MarkerSize',h(loc)); % 设置形状不同,并根据颜色和大小来表示数据h
end
set(gcf,'Color',[1 1 1]);
legend(str,'Location','SouthEast')
```
请确保`h`是一个数值标量,且与其他向量的大小相同。如果`h`不是数值标量,您可能需要调整代码以适应您的数据。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)