样式一、有颜色线图
% 定义任意区域的网格数据
[x, y] = meshgrid(-5:0.1:5, -5:0.1:5);
% 定义任意区域的函数
z = x.^2 + y.^2;
% 绘制云图
contour(x, y, z, 'LineWidth', 2);
xlabel('X轴');
ylabel('Y轴');
title('任意区域的云图');
grid on;
%让X轴和Y轴比例尺相同
axis image
样式二、设置等高线云图
syms x y
%网格密度,决定图像是否光滑
n1=20;
%坐标边界
[min_x,max_x,min_y,max_y]=deal(0,1,0,1);
inc=(max_x-min_x)/n1;
xx=min_x:inc:max_x;
yy=min_y:inc:max_y;
[X,Y]=meshgrid(xx,yy);
f=100*(X.^2+Y.^2);
figure
% contourf(X,Y,f')
[C,h]=contourf(X,Y,f,[90 80 70 60 50 40 30 20 -10],'ShowText','on');%设置等高线
clabel(C,h,'fontsize',12)%等高线标签字号大小
shading interp
colorbar
set(gca,'FontSize',12)%坐标轴字号大小
% set(gca,'YDir','normal') %反转Y轴
title('Temperature (℃)','FontSize',12);
colormap( jet)
% parula 蓝黄图 turbo蓝黑红 Hot 白黑红 gray灰图 jet蓝黑红 White线图
% 坐标轴设置---------------------------------------------
% % % set(gca, 'xTick', [0:6:24]);
% % % set(gca,'XTickLabel',{'00:00','06:00','12:00','18:00','24:00'})
% % % set(gca, 'FontSize', 18);
% % % xlim([0, 24])
%添加横坐标名---------------------------------------------
xlabel('x(m)')
ylabel('y(m)')
样式三、限定范围显示云图
限定下图的范围显示云图
x=linspace(0,1,1000);
y=linspace(0,1,1000);
num=length(y);
[X,Y]=meshgrid(x,y); % 产生网格数据并处理
f =100*(X.^2+Y.^2); % 对应的第三维数据
%限定云图范围
for i=1:num
for j=1:num
if Y(i,j)>(5/3-5/3*X(i,j))
f(i,j) = NaN;
end
end
end
figure % 有等高线的pcolor
[C,h]=contourf(X,Y,f,[90 80 70 60 50 40 30 20 -10],'ShowText','on');%设置等高线
clabel(C,h,'fontsize',12)%等高线标签字号大小
shading interp
colorbar
set(gca,'FontSize',12)%坐标轴字号大小
title('Temperature (℃)','FontSize',12);
colormap( jet)
xlabel('x(m)')
ylabel('y(m)')
注意网格必须划的足够密,否则云图有锯齿。
如有更好的方法欢迎私聊交流!