最近更新了不少关于数学建模算法与机器学习的博客,今天我来写写关于科研制图的MATLAB常用命令,众所周知,在未来的科研生涯中,只要是学工科的同学们,MATLAB都是大家必学的工具之一,而发paper中的制图更是重中之重,虽然科研制图讲究一个**“丑”**,但是不会画想必是不行的。本文应该是持续更新的,本博客我会总结一些较为细节处理的代码,如果你是个使用MATLAB科研制图的小白,我会强烈推荐b站郭彦甫的MATLAB入门教程,是我特别推荐的视屏系列。当然现在python科研制图也十分流行了,之后我也会整理。

清屏、清除所有变量

我有个习惯就是每个主程序的开头我都会清除所有变量以及进行清屏操作,这个习惯我个人认为还是防止我们代码重复运行的有效办法。

clear,clc % clear清除所有变量,clc清屏

在同一坐标系下绘制多条曲线

这依然是个十分基础的问题,我们可以使用hold on命令,这个命令在matlab中就是继续使用当前坐标轴的意思,与之对应的是hold off。当然大部分时候,后半部分命令可以不用写,下面我们以

为例,进行图的绘制。
clear,clc
x = linspace(0,20,1000); % linspace(a,b,k)表示在区间[a,b]中任取k个点
y1 = 2*cos(x);
y2 = sin(2*x);
y3 = 3*sin(x);
figure(1); % 其实可以不写,代表图画框1,但是通常为了标记图像,我一般都会这样写
plot(x,y1);
hold on % 只需要一个hold on就可以了
plot(x,y2);
plot(x,y3);

绘制效果如下图所示:

在不同坐标系下绘制曲线,同框显示

相信学过的人都知道,这种情况我们一般使用subplot这样的命令,subplot(a,b,k)命令一般出现于每个plot命令前,代表的意思是绘制a*b的框图,目前绘制第k个图(顺序从上至下,从左至右),比如我们实现以下代码会发生什么情况?

clear,clc
x = linspace(0,20,1000);
y1 = 2*cos(x);
y2 = sin(2*x);
y3 = 3*sin(x);
% figure 1: 2*3
figure(1);
subplot(2,3,1); plot(x,y1);
subplot(2,3,2); plot(x,y2);
subplot(2,3,3); plot(x,y3);
subplot(2,3,4); plot(x,y1);
subplot(2,3,5); plot(x,y2);
subplot(2,3,6); plot(x,y3);
% figure 2: 3*2
figure(2);
subplot(3,2,1); plot(x,y1);
subplot(3,2,2); plot(x,y2);
subplot(3,2,3); plot(x,y3);
subplot(3,2,4); plot(x,y1);
subplot(3,2,5); plot(x,y2);
subplot(3,2,6); plot(x,y3);

绘制效果如下图所示:

开启坐标轴网格

在我们绘图的时候这样白色的界面实际上真的非常影响我们的对于数据分布情况的总结,于是我们想在坐标轴中添加相应的分割线,采用grid on命令即可。

clear,clc
x = linspace(0,20,1000);
y1 = 2*cos(x);
y2 = sin(2*x);
y3 = 3*sin(x);
figure(1);
plot(x,y1);
hold on
plot(x,y2);
plot(x,y3);
grid on

效果如下图所示:

改变曲线颜色,设置线宽

在我们绘图的时候设置曲线的颜色同样重要,如果我们不设置的话,matlab会给所有曲线默认的颜色排列,以及宽度(默认1)。然而,事实上我们知道,通常我们并不适合他给的颜色以及默认线宽有些太细了。先来说说,matlab如何调整曲线颜色以及坐标点的问题,大家可参考博客:Matlab画图常用的符号和颜色

同样我们其实还有其他方法调整颜色,我们知道颜色的表示都是使用三维向量RGB表示,所以我们可以调整参数,来调整曲线的特殊颜色,如深红浅红等等。先上代码:

clear,clc
x = linspace(0,20,1000);
y1 = 2*cos(x);
y2 = sin(2*x);
y3 = 3*sin(x);
figure(1);
plot(x,y1,'k','LineWidth',1.5); % 黑色线性曲线,曲线宽度为1.5,我通常使用的线宽
hold on
plot(x,y2,'Color',[0.7 0 0],'LineWidth',1.5); % RGB的R为0.7即深红
plot(x,y3,'b:','LineWidth',1.5); % 蓝色虚线的曲线
grid on

效果图如下:

设置坐标轴、标题与图例

最后一个基础的命令,就是设置坐标轴与图例。这两个命令都十分简单,分别使用xlabel('x轴名称')legend('第1条曲线名称','第2条曲线名称','第3条曲线名称')。当然也可以这样设置y轴,z轴都没问题。关于标题的设置,title命令就能搞定,但是matlab往往不支持中文的格式,也就是说如果你在标题、坐标轴或图例中出现中文,往往会引发乱码。我在网上找到了一个比较不错的办法,就是添加一条命令set(gca,'Fontname','Monospaced','Fontsize',10,'FontWeight','bold');便可解决无法用中文命令标题的问题,当然你使用英文就不需要这行命令了。btw,所有matlab的文字部分都支持的是latex语法。

clear,clc
x = linspace(0,20,1000);
y1 = 2*cos(x);
y2 = sin(2*x);
y3 = 3*sin(x);
figure(1);
plot(x,y1,'k','LineWidth',1.5); % 黑色线性曲线,曲线宽度为1.5,我通常使用的线宽
hold on
plot(x,y2,'Color',[0.7 0 0],'LineWidth',1.5); % RGB的R为0.7即深红
plot(x,y3,'b:','LineWidth',1.5); % 蓝色虚线的曲线
grid on
xlabel('x'); ylabel('y');
legend('y_1','y_2','y_3');
set(gca,'Fontname','Monospaced','Fontsize',10,'FontWeight','bold');
title('例子:xsim y_1,y_2,y_3');

效果图如下图所示:

python matlab 多条曲线 单位_【基础篇】MATLAB科研制图常用代码命令相关推荐

  1. 《量化投资:以MATLAB为工具》连载(1)基础篇-N分钟学会MATLAB(上)

    http://blog.sina.com.cn/s/blog_4cf8aad30102uylf.html <量化投资:以MATLAB为工具>连载(1)基础篇-N分钟学会MATLAB(上) ...

  2. Oracle、Mysql数据库编程开发基本操作命令语法脚本_基础篇(入门级)

    Oracle.Mysql数据库开发基本操作命令语法脚本_基础篇(入门级) 文章目录 Oracle.Mysql数据库开发基本操作命令语法脚本_基础篇(入门级) 一.数据库中常用的字段类型 二.操作数据库 ...

  3. Lunx运维监控_shark巨菜_基础篇

    Lunx运维监控_shark巨菜_基础篇 一.监控重要性 单单从"监控"两个字来谈,范围之广可以涵盖我们生活的方方面面,我们生活和工作中处处可见视频监控的摄像机:机房中的电压电流监 ...

  4. stem什么意思matlab,matlab中stem函数用法_常见问题解析,matlab

    matlab中如何自定义图例_常见问题解析 matlab中自定义图例的方法:首先打开matlab软件:然后点击勾选按钮,新建一个文件并输入代码为"x = 0:pi/50:2*pi;" ...

  5. 0基础python入门书籍 excel_【曾贤志】从零基础开始用Python处理Excel数据 - 第1季 基础篇...

    =====[曾贤志]从零基础开始用Python处理Excel数据 第1季 基础篇====== 1-1 什么是python? .mp4 1-2 为什么要学习用Python处理Excel表格? .mp4 ...

  6. 《量化投资:以MATLAB为工具》连载(2)基础篇-N分钟学会MATLAB(中)

    http://www.matlabsky.com/thread-43937-1-1.html <量化投资:以MATLAB为工具>连载(3)基础篇-N分钟学会MATLAB(下) <量化 ...

  7. 东华大学2020考研计算机复试准备上机题解析答案_基础篇 前言

    东华2020考研复试准备上机题解析答案_基础篇 前言 大家好,我是今年参加东华大学研究生入学考试的学生,前不久东华大学发布了关于复试上机的通知,还有题库供大家练习.我于是刷完了所有的题目,并且把题目和 ...

  8. 3D MAX入门篇(1)常用快捷命令及两种基础建模方式

    3D MAX入门篇(1)常用快捷命令及两种基础建模方式 基于图片的对程型模型----画线式建模 1.在界面画一个平面 2.调整平面大小,确认与要插入的图片尺寸一样 3.通过添加样条线绘制出模型的一半 ...

  9. 【QT开发笔记-基础篇】| 第二章 常用控件 | 2.12 表格控件 QTableWidget

    本节对应的视频讲解:B_站_链_接 QTableWidget 是 Qt 中的表格控件,可以行列的形式来展示数据 1. 属性和方法 QTableWidget 有很多属性和方法,完整的可查看帮助文档. 在 ...

最新文章

  1. Mapreduce 任务提交源码分析1
  2. datamodeler mysql_NavicatDataModeler-官方版-数据库设计工具(NavicatDataModeler)1.0.10官方特别版-独木成林...
  3. php mpdf html 转pdf,使用 MPDF 将HTML转为PDF,然后将该PDF转为PNG图片的时候,中文报错... ......
  4. 我的微型计算机,我的OC(超频)18年追忆!
  5. libnet发包java语言_libnet-1.1.2.1
  6. 数据结构和算法分析: 第五章 散列
  7. kubectl 创建pvc_动态挂载云盘(PVC)
  8. 想知道吗,如何在Github上精准地找到想要的开源项目?
  9. css盒子模型_css的盒子模型是什么
  10. OpenGL学习(一)OpenGL基本介绍
  11. Codeforces Gym 100187E E. Two Labyrinths bfs
  12. 建立云服务器_中国云游戏元年 顺网科技跻身头号玩家队列
  13. python读取文件中的内容_python逐行读取文件内容的三种方法
  14. 电脑全能工具箱,400+工具免费用
  15. PMP备考资料和备考经验分享(基于PMP第六版)
  16. CSS-背景 超链接
  17. mysql的配置管理_MySQL 启动流程及配置管理
  18. 【侯捷】C++STL标准库与泛型编程(第二讲)
  19. Home School Books美国家庭学校教育小学初中高中全套美语教材
  20. scratch编程石头剪刀布

热门文章

  1. 量化投资基础学习(1)————常用库 numpy 函数 (2022.7.11)
  2. 【已解决】msaddndr.dll是什么程序?msaddndr.dll官方下载地址在哪?
  3. 用python写一个万年历
  4. 因为接了一个外包 我在监狱蹲了456天!
  5. [GWCTF 2019]pyre
  6. GET和POST的使用
  7. 时间段查询将00:00:00更换成23:59:59
  8. 概率语言模型 Probabilistic Language Modeling (一) --- 整体简介
  9. 基于AIOT综合能源管控平台开发探讨
  10. Boolean Satisfiability Problem(SAT)问题介绍