加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Matlab--三种填色图与插值

(2020-07-29 09:53:09)
分类: MATLAB
用matlab画一些二维填色,目前主要接触到函数有两个对点填色的函数pcolor和contourf,以及一个对格子填色的函数image

pcolor本质上是对点填色,函数自带的属性也可插值
contourf是一个画等值线的函数,函数自身所画出的曲线不够平滑,若插值需要借助griddata等函数对数据进行预处理
具体函数属性细节的设置见官网:

下面是花了半小时做的简单对比
插值多少对高值有所损耗,综合来看,马赛克最清晰直接了。
1:pcolor直接画图以及加入shading interp
Matlab--三种填色图与插值Matlab--三种填色图与插值
Code:
fontsize=18;
pd = makedist('Normal')
[x,y] = meshgrid(1:1:10,1:1:10);
value=random(pd,[10,10])
s=pcolor(x,y,value);
% shading interp; 选择插值与否
set(s,'edgecolor','none');
colormap jet;colorbar;
caxis([-3,3])
set(gca,'FontSize',fontsize,'FontName','Times New Roman','FontWeight','bold');

2:contourf画图与使用griddata v4方法插值
Matlab--三种填色图与插值Matlab--三种填色图与插值
figure(1)
[C,h]=contourf(x,y,value,20);
set(h,'Color','none');
colormap jet;colorbar;
caxis([-3,3])
set(gca,'FontSize',fontsize,'FontName','Times New Roman','FontWeight','bold');

figure(2)
[xq,yq]=meshgrid(1:0.1:10,1:0.1:10);
value_q=griddata(x,y,value,xq,yq,'v4')
[C,h]=contourf(xq,yq,value_q,20);
set(h,'Color','none');
colormap jet;colorbar;
caxis([-3,3])
set(gca,'FontSize',fontsize,'FontName','Times New Roman','FontWeight','bold');

3:image画图
Matlab--三种填色图与插值

code:
x=1:10;y=1:10;
pd = makedist('Normal')
value=random(pd,[10,10])
image(x,y,value,'CDataMapping','scaled')%后面的参数是根据数值大小选取colorbar着色范围
% set(gca,'YDir','normal'); %若y轴为时间,可将y轴倒置
colormap jet;colorbar;


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有