一、绘制云图

  假设 x、y 为坐标向量,f 为各个坐标点所对应的函数值 的向量

1、需要根据 x、y 的范围进行划分,可以理解为建立坐标系或比例尺 X1和Y1

X1 = linspace(min(x),max(x),100);           %将坐标均分成100份
Y1 = linspace(min(y),max(y),100);

2、利用插值计算,计算出 函数值f 在坐标X1、Y1上的值

[X,Y,F] = griddata(x,y,f,X1',Y1,'v4');      %'v4'代表插值方法为matlab4样条函数内插,也可用'linear','cubic','nearest'等

3、绘制云图

pcolor(X,Y,F);
shading interp                  %色彩平滑
colormap(Small_Rainbow)         %使用自定义的配色方案
colorbar                        %分布柱图

4、修改参数,并对比

4.1  修改坐标系X1、Y1的精细度 。可以看出划分参数达到一定精度即可,过高的精度反而影响计算效率。

    4.2  修改插值方法

  可以看出,linear和nearset插值对生成云图而言,呈现效果并不好,而另外三者还需要进行更细致的对比

  通过放大云图,对比局部,绘制出来的云图,在极值点附近的光滑程度 natural < cubic < v4,但cubic和v4相差不大。

  而计算时间分别为:natrual为0.086秒、cubic为0.028秒,v4为0.637秒

  由于本人所需要计算的数据量较小,采用呈现效果更好的 “v4”插值也无妨

        4.3  云图绘制的其他函数,以及可修改参数

  contourf画图时所采用的代码

[p,s] = contourf(X,Y,F,100);
title('绘图方法contourf,透明等高线,等高线间距100')
s.LineColor = 'none'
shading interp          %色彩平滑

  通过对比,采用pcolor更优,代码更少,效果也更好

参考资料:

用matlab画云图或由离散点生成云图-MATLAB基础-MATLAB之家

matlab绘制云图或三维曲面图_yangguangdblu的博客-CSDN博客_matlab画云图

https://jingyan.baidu.com/article/ea24bc39fbfa9dda62b3318b.html

二、修改配色方案

1、使用自定义配色方案

  有两种方法调出“颜色图编辑器”,第一种是在命令行内输入colormapeditor;另一种是在绘图之后,在figure页面的上方菜单,点击“编辑——颜色图”即可调出。(matlab2016a)

  之后通过删减、增加颜色索引,或修改索引所对应的颜色,即可将配色修改成自己想要的配色,比如这样:

  但是这样的修改,每次重新启动matlab,都需要重新设置。十分麻烦

2、采用代码,使用自定义方案

  设置色彩索引(锚点)的矩阵,并将其命名为Small_Rainbow,然后调用这个自定义配色方案

Small_Rainbow = [0 0 1;    %参考知乎大佬的文章,它采用的是0-255,但是我尝试了一下不行0 1 1;    %所以我采用0-1的形式,中文文档也是这么用的0 1 0;    1 1 0;    %5行表示一共有5个颜色标签(锚点)1 0 0];   %3列分别表示R,G,B三种颜色colormap(Small_Rainbow)    %调用自定义的配色方案   

  此时的呈现效果···不太理想,原因是颜色缺少更合适的层次,即便插值或者绘图的精度足够,但是直观上看依然呆板。所以下一步要细化颜色层次

3、优化自定义方案

  将5个锚点之间用更多的插值填充,得到了 81 x 3 的一个颜色矩阵,同样命名为Small_Rainbow,并调用,前后结果对比:

参考资料:

在matlab中自定义colormap绘制云图 - 知乎

三、保存配色方案、

1、保存配色方案

2、调用配色方案

load 'Small_Rainbow.mat'   %导入配色方案

完整代码

% 导入并生成云图
data = load('C:\Users\Administrator\Desktop\IMR_00000010.txt');
load 'Small_Rainbow.mat'       %导入配色方案%确定像素坐标矩阵
x = data(:,1)';
y = -1 * data(:,2)';%确定生成云图的内容
f = data(:,3)';%生成坐标轴
X1 = linspace(min(x),max(x),100);
Y1 = linspace(min(y),max(y),100);%插值计算
[X,Y,F] = griddata(x,y,f,X1',Y1,'v4');%生成仿彩色图
pcolor(X,Y,F);
title('绘图方法pcolor')
shading interp                  %色彩平滑
colormap(Small_Rainbow)         %使用自定义的配色方案
colorbar                        %分布柱图

总结

多看官方文档,能救百病

【matlab】绘制云图 + 修改配色方案 + 保存配色方案相关推荐

  1. python代码颜色搭配_修改Python IDLE代码配色及语法高亮主题

    文章1 原出处:http://wangye.org/blog/archives/634/ 文章2 原出处:http://huacnlee.com/blog/share-someting-python- ...

  2. R语言使用ggplot2包的快速可视化函数qplot绘制散点图(分类变量分组配色、连续值程度配色)实战

    R语言使用ggplot2包的快速可视化函数qplot绘制散点图(分类变量分组配色.连续值程度配色)实战 目录 R语言使用ggplot2包的快速可视化函数qplot绘制散点图(分类变量分组配色.连续值程 ...

  3. 请教如何保存matlab仿真出来的图,如何保存Matlab绘制出来的图像

    该文章讲述了如何保存Matlab绘制出来的图像. Matlab提供了丰富的绘图函数,比如ez**系类的简易绘图函数,surf.mesh系类的数值绘图函数等几十个. 有网友向我反映,有时我们只有一个Ma ...

  4. matlab应力云图_Matlab绘制二维应力云图

    自己研究了下用Matlab绘制二维应力云图的方法,三维应力云图的绘制可以以此类推. 实现的方法主要是运用fill函数,三维情形应该是fill3函数. 这里我们以一个四边形的例子来说明. 如上图所示的四 ...

  5. 如何将MATLAB绘制的图像保存为动图

    资源下载:https://download.csdn.net/download/qq_16635325/10894373 方法,我已经写成了一个函数SAVEGIF 用法和说明 savegif   将位 ...

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

    matlab 绘制等高线图,contourf等高线填充,并优化(初学者教程) 本人是matlab初学者,由于科研作图需要,最近经常使用matlab画等高线图,想把我的代码分享出来. 我就拿txt文本作 ...

  7. Matlab绘制多组柱状图的方法(可直接复制)

    前言 论文中常有需要用柱状图表示数据的情况,本文给出Matlab绘制多组数据的柱状图的代码,并给出常用论文示图配色.显示效果如下: 脚本代码 %% 数据准备 BMRKSH=[67.98 43.19 6 ...

  8. Matlab绘制带误差线的柱状图

    Matlab可绘制带误差线的柱状图(需下载barweb (BARgraph With Error Bars) - File Exchange - MATLAB Central并设置路径),成图如下所示 ...

  9. 【Matlab绘图进阶第1弹】Matlab绘制高颜值箱式图

    箱式图又称为箱线图.盒式图,用作显示一组数据分散情况的统计图,同时可以反映原始数据分布的特征,好看的箱式图对于论文的接收有很大的帮助,下面来和小编一起学习如何绘制一张高颜值带有显著性的箱式图吧. 成图 ...

最新文章

  1. Udacity机器人软件工程师课程笔记(三十二) - 卡尔曼滤波器 - 一维卡尔曼滤波器 - 多维卡尔曼滤波器 - 拓展卡尔曼滤波器(EKF)
  2. [转载]交换机背板带宽计算方法
  3. vue ...mapMutations 的第一个参数默认为 数据对象state
  4. notepadpython插件_Notepad++插件Emmet和Python Script的安装
  5. 巧用qmake工具生成专业的makefile
  6. html3D效果可以在手机打开吗,手机怎么打开HTML
  7. 传递function_Excel VBA解读(132): 调用Function过程的4种方式
  8. APPCAN学习笔记001---app快速开发AppCan.cn平台概述
  9. Visual C# 2005——超好用的DropDown与DropDownClosed事件
  10. 常见的SAS接口类型、接口连接器外观详细解读
  11. linux下qt网络编程 qnetworkreply,QT网络编程之文件下载 QNetworkRequest QNetworkReply QNetworkAccessManager...
  12. php 数据库 编程,php数据库编程(mysql mysqli pdo)
  13. PR如何对裁剪之后的视频进行resize,指定到期望大小?
  14. 【渝粤教育】电大中专电商运营实操 (10)作业 题库
  15. 龙渊服务器信息丢失,多多自走棋为什么停止运营 游戏数据转移腾讯服务器
  16. 8月第3周基金排行榜 | TokenInsight
  17. Django学习笔记(3):使用模型类进行查询(查询函数、F对象、Q对象、聚合函数、查询集、模型类关系、关联查询、自关联、管理器)
  18. html图片不平铺,css图片不平铺怎么设置?
  19. Excel基础操作1
  20. 程序员应该知道的10大编程格言

热门文章

  1. python中的utils模块_Python中的模块
  2. 汽车靠发动机带动发电机发电
  3. 如何提升电脑使用体验?试试这5款免费软件吧
  4. Tableau 超市经典案例之配送分析(二)
  5. Apollo:Lattice Planner
  6. 检测电脑能否安装黑苹果
  7. Linux下USB的开发
  8. realme达成 1000万销量:中国品牌不骗中国人?
  9. 【Python游戏】基于Python的pygame模块实现的天天酷跑游戏 | 附带源码
  10. 【18】[C语言]抓交通肇事犯。一辆卡车违反交通规则,撞人后逃跑。现场有3人目击事件,但没有记住车牌号,只记住了车号的一些特征。