matlab 绘制等高线图,contourf等高线填充,并优化(初学者教程)

matlab 绘制等高线图,contourf等高线填充,并优化(初学者教程)

本人是matlab初学者,由于科研作图需要,最近经常使用matlab画等高线图,想把我的代码分享出来。
我就拿txt文本作为输入,excel也是可以的,把导入部分的语法改一下即可。我的输入是一个n×3的数组,x、y、z对应这3列。如果输入是3×n,把x=data(:,1)改为x=data(1,:)即可,如此类推。
x和y是txt的第一列和第二列,也作为等高线图的x、y轴,z则是 包含 xoy 平面上的高度值。
使用的是”contourf“函数画图。

clc;clear;close all;
data= load('D:\数据\data1.txt');          % 读取TXT文件
x = data(:,1);                                  
xmax     = max(x);                                         
xmin     = min(x);
y = data(:,2)
ymax     = max(y);
ymin     = min(y);
z = data(:,3);                                    
N = 484;                                               % 每个维度的数据点数
[X,Y] = meshgrid(linspace(xmin,xmax,N),linspace(ymin,ymax,N));
Z = griddata(x,y,z,X,Y,'v4');
figure;
contourf(X,Y,Z,N, 'LineColor','none');  
title('data1');                                         % 标题需要更改
colormap('jet');                                      %配色,可自由更改
colorbar;
saveas(gcf,'data1','png')                       % 如果要对图进行优化就把这句话注释了,'png'为保存的格式,生成的图片保存在左边的文件夹中

代码运行完毕后得到下图。
在这里插入图片描述
但是这样的图放进文章里不好看,我再对其进行优化。
(我使用的版本是2021a)在figure的下方菜单”查看“选择“属性编辑器”,点开如下图。
在这里插入图片描述
我想要刻度疏一些的,并且想把零点放在图坐标的最左边,我点开“刻度”并进行了修改。还添加了标签(在上图X/Y标签处添加)。如下图所示。
在这里插入图片描述颜色条的刻度不是我想要的,我想让它从1开始,并以“1,10,20,30”为刻度,双击颜色条,弹出窗口如下图所示。
在这里插入图片描述
最后得到这张图,根据需要再裁剪一下就完成了。
在这里插入图片描述
其实很多功能可以用代码直接实现,我个人比较喜欢用GUI调,看个人喜好咯。小伙伴们记得保存为’fig’格式,方便后续再进行修改。
如果文章出现错误,欢迎大家留言告诉我。
如果该文章对你有用,请多多点赞收藏!

  • 22
    点赞
  • 132
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值