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’格式,方便后续再进行修改。
如果文章出现错误,欢迎大家留言告诉我。
如果该文章对你有用,请多多点赞收藏!
今天的文章matlab 绘制等高线图,contourf等高线填充,并优化(初学者教程)分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/23905.html