Hao Chen

cighao@gmail.com

  • About ME
  • Archives
  • Exploring World
Search

Hao Chen

cighao@gmail.com

  • About ME
  • Archives
  • Exploring World

matlab 画图(二): 基本作图技巧

2016-04-13

目录 [+]

  1. 1. 创建图
  2. 2. 一个图表中的多重数据集
  3. 3. 指定线型和颜色以及点的标记
  4. 4. 虚数与复数数据
  5. 5. 在现有图中添加图
  6. 6. Figure窗口
  7. 7. 同一Figure中作多幅图
  8. 8. 轴的控制
  9. 9. 轴的标签与标题
  10. 10. Figure的保存

1. 创建图

matlab 中创建图是使用 plot() 函数。

根据输入的不同,plot 函数有不同的窗体。如果y是向量的形式,plot(y)则在y对应的轴上作出一个分段线状图。如果指定要求含两个向量时,则plot(x,y)作出一个y相对于x的图表。

1
2
y=[1 2 10 4 5 3 2];
plot(y)

1
2
3
4
5
6
7
x = 0:pi/100:2*pi;
y = sin(x);
plot(x,y)
%现在给轴加上标签和标题,用\pi作符号。
xlabel('x = 0:2\pi')
ylabel('Sine of x')
title('Plot of the Sine Function','FontSize',12)

2. 一个图表中的多重数据集

一个函数作图命令 plot 使不同的 (x-y) 变元函数生成不同的函数图象。MATLAB 自动地通过预设地颜色库来区别不同的函数(也可用户自设)。例如,以下是三个x的相关函数的图象,每条曲线都由各自不同的颜色加以区分。

1
2
3
4
5
y2 = sin(x-.25);
y3 = sin(x-.5);
plot(x,y,x,y2,x,y3)
% legend命令提供一种简易方式来辨别不同的函数作图
legend('sin(x)','sin(x-.25)','sin(x-.5)')

3. 指定线型和颜色以及点的标记

在使用plot命令来为数据作图时,你可以自定义颜色,线型和标记(比如加号和圆圈)。

1
plot(x,y,'color_style_marker')

color_style_marker是一个由一到四个字符构成的字符串(用单引号括起来),用以定义颜色,线型和标记形式。

详细内容请参考之前的一篇博文matlab 画图(一): 线条样式设计

4. 虚数与复数数据

当语句是作(plot)复变量时,虚部是忽略的,除非作图给出一个单复变元。对于这种特殊情况,有一捷径的命令来画出实部以及与之对应的虚部,

1
plot(Z)

其中Z是复向量或矩阵,其等价于

1
plot(real(Z),imag(Z))

例如,

1
2
3
t = 0:pi/10:2*pi;
plot(exp(i*t),'-o')
axis equal

作出一个二十边形并用小圆标记顶点,命令axis equal使x轴与y轴的单位长度等长,这使作出的图更象一个圆。

5. 在现有图中添加图

hold 命令让你能在现有图中添加图,输入

1
hold on

当你输入另一个作图命令时,MATLAB不会替换现有图;而是把新数据图添加到现有图中,必要时会改变坐标轴的标尺。

例如,以下语句先作一个peaks 函数的轮廓图,并在同一个函数图象中添加伪彩色图。

1
2
3
4
5
6
7
8
[x,y,z] = peaks;
% 画出来的图是没有色彩的,黑白的
contour(x,y,z,20,'k')
% 添加上颜色
hold on
pcolor(x,y,z)
shading interp
hold off

hold on 使命令伪彩色图与轮廓图在同一图象中相结合。

contour(x,y,z): 等高线绘制函数,z是xy平面的高度

pcolor(x,y,z): 在网格 xy 中填充颜色 z

shading interp: 使色彩平滑过渡

6. Figure窗口

如果屏幕上还没有 figure 窗口,作图函数会自动打开一个新的 figure 窗口。如果figure窗口已经存在,MATLAB 会用它来输出图象。如果已有多个 figure 窗口,MATLAB 会在指定的“当前”窗口作图。

要使已有的窗口成为当前窗口,可以用鼠标点击该窗口或者输入: figure(n), 其中 n 是标题栏中的窗口号。结果会显示在该窗口。

要打开一个新窗口并使它成为当前窗口,则输入: figure

7. 同一Figure中作多幅图

用 subplot 命令可以在同一窗口中作多幅图或把它们打印到同一纸上。输入

1
subplot(m,n,p)

把 figure 窗口分成 m*n 个子区域及选择第 p 个区域为当前图。所作图是从 figure 窗口的顶行开始标号,然后第 2 行,依次类推。例如,以下语句在 figure 窗口的 4 个不同子区域分别作图。

1
2
3
4
5
6
7
t = 0:pi/10:2*pi;
%函数返回圆柱体x,y,z轴的坐标值,圆柱体沿其周长有20个等距分布的点
[X,Y,Z] = cylinder(4*cos(t));
subplot(2,2,1); mesh(X)
subplot(2,2,2); mesh(Y)
subplot(2,2,3); mesh(Z)
subplot(2,2,4); mesh(X,Y,Z)

mesh(z): mesh(z)的作用是生成一张曲面,x坐标的取值从1取到m,间距为1,y坐标的取值是从1取到n构成的网络节点,曲面的高度就是z矩阵里面元素值。

8. 轴的控制

axis 命令可以规定图象的缩放比例,方位,和纵横比,可以交互的使用指令进行操作。

设置轴的范围

默认时,MATLAB可以根据数值的最大值和最小值决定合适的范围,用 axis 命令可以自己定义数值的标尺范围: axis([xmin xmax ymin ymax])

三维图则用: axis([xmin xmax ymin ymax zmin zmax])

用命令 axis auto 使MATLAB重新自动选择范围。

设定纵横比

用 axis 也可以指定预先确定的数。例如,

axis square: 使x轴和y轴等长。

axis equal: 使x轴与y轴的单位长度相等。也就是说 plot(exp(i*[0:pi/10:2*pi])) 无论后面跟着 axis square 还是 axis equal 都把椭圆变成正圆。

axis auto normal: 返回默认模式中定义的缩放比例。

设定轴的可见性

用 axis 命令还可以使轴隐藏或显示。

axis on: 使轴显示出来。这是默认情况。

axis off: 使轴隐藏。

设置网格线

grid命令设置网格线显示或隐藏。语句

grid on: 使网格线显示,

grid off: 隐藏网格线。

9. 轴的标签与标题

用 xlabel, ylabel, 及 zlabel 命令添加 x-,y-,z- 等标签。用 title 命令在图象顶部加标题,用 text 函数在图象中任何部位添加文本。TeX 标记的子集则产生希腊字母。可以交互地设置这些选项。

1
2
3
4
5
6
7
8
t = -pi:pi/100:pi;
y = sin(t);
plot(t,y);
axis([-pi pi -1 1]);
xlabel('-\pi \leq {\itt} \leq \pi')
ylabel('sin(t)')
title('Graph of the sine function')
text(1,-1/3,'{\itNote the odd symmetry.}')

10. Figure的保存

要保存图形,从 File 菜单选择 Save。要用图形格式如 TIFF 保存,以便在其他应用中使用,则从File 菜单选择 Export。还可以从命令行中保存-用 saveas 命令,包括任何以其他格式保存图象的选项。

  • Matlab
  • 画图

扫一扫,分享到微信

微信分享二维码
matlab 画图(三): 图形句柄
disksim with ssdmodel 源码解析(二十):统计结果的提取
  1. 1. 1. 创建图
  2. 2. 2. 一个图表中的多重数据集
  3. 3. 3. 指定线型和颜色以及点的标记
  4. 4. 4. 虚数与复数数据
  5. 5. 5. 在现有图中添加图
  6. 6. 6. Figure窗口
  7. 7. 7. 同一Figure中作多幅图
  8. 8. 8. 轴的控制
  9. 9. 9. 轴的标签与标题
  10. 10. 10. Figure的保存

Related Issues not found

Please contact @cighao to initialize the comment

© 2025 Hao Chen
Hexo Theme Yilia by Litten
  • Search

tag:

  • Javascript
  • Web 前端
  • Matlab
  • 遗传算法
  • 算法
  • Hexo
  • 计算机
  • Linux IO
  • Cassandra
  • 数论
  • SSD
  • NVMe
  • Database
  • 论文阅读
  • Disksim
  • flashsim
  • Ubuntu
  • 画图
  • 信号处理
  • 黑客
  • Mysql
  • Python
  • 爬虫
  • 粒子群算法
  • 模拟退火算法
  • Neo4j
  • Ngrok
  • SPDK
  • RocksDB
  • Java
  • Matplotlib
  • openstack swift
  • 分布式存储
  • 对象存储
  • 学术
  • Tool
  • C语言
  • 正则表达式
  • 端口扫描
  • 二层规划
  • 排序
  • 随笔
  • Nodejs
  • Tools
  • 数据库

    缺失模块。
    1、请确保node版本大于6.2
    2、在博客根目录(注意不是yilia根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    3、在根目录_config.yml里添加配置:

      jsonContent:
        meta: false
        pages: false
        posts:
          title: true
          date: true
          path: true
          text: false
          raw: false
          content: false
          slug: false
          updated: false
          comments: false
          link: false
          permalink: false
          excerpt: false
          categories: false
          tags: true
    

  • 数据库中的热点行优化 (SIGMOD'21 Paper 解读)

    2022-02-28

    #Database#论文阅读

  • NVMe SSD中namespace的介绍和创建

    2020-04-12

    #SSD#NVMe

  • 快速搭建 L2TP VPN 服务器

    2019-11-20

    #计算机#Tool

  • SPDK 介绍(二):SPDK 相关博客

    2019-10-25

    #SPDK

  • SPDK 介绍(一):使用 FIO 测试 SPDK

    2019-10-23

    #SPDK

  • RocksDB 介绍(一):相关博客

    2019-10-22

    #RocksDB

  • Linux IO 相关资料

    2019-09-29

    #计算机#Linux IO

  • Cassandra 介绍(三):Commitlog 介绍(1)

    2019-09-26

    #Cassandra

  • Cassandra 介绍(二):Blogs

    2019-09-22

    #Cassandra

  • Cassandra 介绍(一):Install and test with YCSB

    2019-09-19

    #Cassandra

  • 阿里数据库内核月报(汇总)

    2019-09-03

    #数据库

  • Neo4j 介绍(五):使用 java 访问 neo4j

    2019-04-24

    #Neo4j

  • Neo4j 介绍(四):关于 neo4j 的一些博客

    2019-04-21

    #Neo4j

  • Neo4j 介绍(三):使用 python 访问 neo4j

    2019-04-21

    #Neo4j

  • Neo4j 介绍(二):main 函数

    2019-04-13

    #Neo4j

  • 日常遇到的一些小问题的解决方案

    2019-03-29

    #计算机#Tool

  • Neo4j 介绍(一):安装

    2019-03-21

    #Neo4j

  • matlab 画图(十): 分组和堆叠的条形图

    2019-01-13

    #Matlab#画图

  • 论文写作常用工具

    2018-11-20

    #Tools

  • Openstack Swift学习(八):配置ntp

    2018-09-29

    #openstack swift#分布式存储#对象存储

  • Openstack Swift学习(七):ssbench 使用

    2018-09-29

    #openstack swift#分布式存储#对象存储

  • Openstack Swift学习(六):服务启动源码分析

    2018-09-29

    #openstack swift#分布式存储#对象存储

  • Openstack Swift学习(五):debug 总结

    2018-09-29

    #openstack swift#分布式存储#对象存储

  • Openstack Swift学习(四):中间件

    2018-09-29

    #openstack swift#分布式存储#对象存储

  • Openstack Swift学习(三):log 配置

    2018-09-22

    #openstack swift#分布式存储#对象存储

  • Openstack Swift学习(二):相关文档

    2018-07-20

    #openstack swift#分布式存储#对象存储

  • Openstack Swift学习(一):安装

    2018-07-12

    #openstack swift#分布式存储#对象存储

  • 在 linux 上首次使用 SSD

    2017-03-20

    #SSD

  • disksim-3.0 with flashsim 源码分析(六):垃圾回收

    2017-02-27

    #SSD#Disksim#flashsim

  • disksim-3.0 with flashsim 源码分析(五):写操作

    2017-02-27

    #SSD#Disksim#flashsim

  • disksim-3.0 with flashsim 源码分析(四):初始化

    2017-02-27

    #SSD#Disksim#flashsim

  • disksim-3.0 with flashsim 源码分析(三):callFsim()函数介绍

    2017-02-21

    #SSD#Disksim#flashsim

  • disksim-3.0 with flashsim 源码分析(二):DFTL 中的 cache

    2016-12-10

    #SSD#Disksim#flashsim

  • disksim-3.0 with flashsim 源码分析(一):disksim-3.0 和 flashsim 的安装

    2016-12-06

    #SSD#Disksim#flashsim

  • flashsim 源码分析(五): flashsim 的初始化

    2016-11-22

    #SSD#flashsim

  • flashsim 源码分析(四): 总线上锁机制的实现

    2016-11-13

    #SSD#flashsim

  • flashsim 源码分析(三): 总线通道中的交叉

    2016-11-11

    #SSD#flashsim

  • flashsim 源码分析(二): flashsim 中的面向对象设计

    2016-11-09

    #SSD#flashsim

  • flashsim 源码分析(一):安装 flashsim

    2016-11-08

    #SSD#flashsim

  • 利用概率算法求解八皇后问题

    2016-10-20

    #算法

  • 回溯法求解八皇后问题

    2016-10-20

    #算法

  • 利用概率算法估算集合大小

    2016-10-17

    #算法

  • 神奇的卡特兰数

    2016-10-07

    #算法#数论

  • 论文阅读:基于闪存的缓冲区管理算法

    2016-08-23

    #SSD#论文阅读#学术

  • 论文阅读:针对闪存的成本感知的缓冲区管理策略(DASFAA 2015)

    2016-08-19

    #SSD#论文阅读#学术

  • 暴力破解 wifi 密码

    2016-08-04

    #黑客

  • 论文阅读:SSD内部多级并行性的探索和利用(TOC 2013)

    2016-07-20

    #SSD#论文阅读#学术

  • 论文阅读:SSD中基于PSO的缓冲区管理算法(ICITCS 2015)

    2016-07-19

    #SSD#论文阅读#学术

  • 利用二级指针删除链表节点

    2016-07-09

    #算法

  • 抓包获取简书的登录密码

    2016-07-07

    #黑客

  • disksim with ssdmodel 源码解析(二十二):读写和擦除时间的计算

    2016-06-28

    #SSD#Disksim

  • 求离散采样信号的波峰和波谷

    2016-05-31

    #信号处理

  • matlab 画图(九): 横坐标标签倾斜设置

    2016-05-13

    #Matlab#画图

  • matlab 画图(八): 双坐标绘图

    2016-04-29

    #Matlab#画图

  • matlab 画图(七): 扇形图

    2016-04-24

    #Matlab#画图

  • matlab 画图(六): 横向柱状图

    2016-04-20

    #Matlab#画图

  • matlab 画图(五): 垂直柱状图

    2016-04-17

    #Matlab#画图

  • matlab 画图(四): 句柄作图示例

    2016-04-16

    #Matlab#画图

  • disksim with ssdmodel 源码解析(二十一):warm up ssd

    2016-04-15

    #SSD#Disksim

  • matlab 画图(三): 图形句柄

    2016-04-14

    #Matlab#画图

  • matlab 画图(二): 基本作图技巧

    2016-04-13

    #Matlab#画图

  • disksim with ssdmodel 源码解析(二十):统计结果的提取

    2016-04-12

    #SSD#Disksim

  • matlab 画图(一): 线条样式设计

    2016-04-11

    #Matlab#画图

  • disksim with ssdmodel 源码解析(十九):ssd 的初始化

    2016-03-31

    #SSD#Disksim

  • disksim with ssdmodel 源码解析(十八):GC 分析(五)

    2016-03-30

    #SSD#Disksim

  • disksim with ssdmodel 源码解析(十七):GC 分析(四)

    2016-03-30

    #SSD#Disksim

  • SSD 编程学习笔记(一)

    2016-03-29

    #SSD

  • disksim with ssdmodel 源码解析(十六):GC 分析(三)

    2016-03-29

    #SSD#Disksim

  • disksim with ssdmodel 源码解析(十五):GC 分析(二)

    2016-03-27

    #SSD#Disksim

  • disksim with ssdmodel 源码解析(十四):ssd_activate_elem函数分析

    2016-03-24

    #SSD#Disksim

  • disksim with ssdmodel 源码解析(十三):如何兼容64位系统

    2016-03-23

    #SSD#Disksim

  • disksim with ssdmodel 源码解析(十二):写操作分析

    2016-03-23

    #SSD#Disksim

  • disksim with ssdmodel 源码解析(十一):地址映射

    2016-03-23

    #SSD#Disksim

  • matplotlib 画图(四):text 和 label 的设置

    2016-03-22

    #画图#Matplotlib

  • disksim with ssdmodel 源码解析(十):GC分析(一)

    2016-03-19

    #SSD#Disksim

  • disksim with ssdmodel 源码解析(九):syssim_driver 系统级接口(二)

    2016-03-19

    #SSD#Disksim

  • disksim with ssdmodel 源码解析(八):syssim_driver 系统级接口(一)

    2016-03-19

    #SSD#Disksim

  • matplotlib 画图(三):线的连续与间断

    2016-03-19

    #画图#Matplotlib

  • disksim with ssdmodel 源码解析(七):block的组织形式

    2016-03-18

    #SSD#Disksim

  • matplotlib 画图(二):图形填充

    2016-03-17

    #画图#Matplotlib

  • disksim with ssdmodel 源码解析(六):disksim_setup_disksim

    2016-03-16

    #SSD#Disksim

  • disksim with ssdmodel 源码解析(五):程序流程介绍

    2016-03-16

    #SSD#Disksim

  • matplotlib 画图(一):横向柱状图

    2016-03-16

    #画图#Matplotlib

  • 一种时间复杂度为 O(N) 整数排序算法

    2016-03-15

    #算法#排序

  • disksim with ssdmodel 源码解析(四):ssd_event_arrive 函数的介绍

    2016-03-13

    #SSD#Disksim

  • disksim with ssdmodel 源码解析(三):初次使用介绍

    2016-03-12

    #SSD#Disksim

  • disksim with ssdmodel 源码解析(二):输入参数的介绍

    2016-03-06

    #SSD#Disksim

  • 在 Hexo 中给文章添加版权信息

    2016-03-01

    #Hexo

  • python中的爬虫神器 XPath 介绍

    2016-03-01

    #Python#爬虫

  • 程序员得长多高

    2016-02-26

    #Python#爬虫#随笔

  • Hexo 博客添加打赏功能

    2016-02-23

    #Hexo

  • Hexo 主题优化

    2016-02-14

    #Hexo

  • 利用 HttpClient 刷 CSDN 博客文章浏览量

    2016-02-04

    #Java

  • nodejs 中模块使用的介绍

    2016-01-10

    #Nodejs

  • 利用 javascript 实现回到顶部效果

    2016-01-09

    #Javascript#Web 前端

  • Ngrok: 一个提供内网到外网映射的工具

    2015-12-18

    #Ngrok

  • 如何给数百万考生的成绩排序

    2015-12-17

    #算法#排序

  • 在 Hexo 中给文章添加目录

    2015-12-13

    #Hexo

  • Java 动态加载类

    2015-12-06

    #Java

  • python 中安装 requests 模块

    2015-12-05

    #Python#爬虫

  • 利用模拟退火算法求解TSP问题

    2015-12-04

    #算法#模拟退火算法

  • 模拟退火算法简介

    2015-12-03

    #算法#模拟退火算法

  • 粒子群优化算法简介

    2015-11-30

    #算法#粒子群算法

  • Hexo yilia主题添加网站访客人数统计

    2015-11-30

    #Hexo

  • 利用粒子群算法求解非线性二层规划问题

    2015-11-07

    #算法#粒子群算法#二层规划

  • 遗传算法的 matlab 实现

    2015-11-03

    #Matlab#遗传算法#算法

  • 基于javascript实现的2048小游戏

    2015-11-02

    #Javascript#Web 前端

  • 随机生成正整数 1-n 的一个排列

    2015-10-11

    #算法#C语言

  • disksim with ssdmodel 源码解析(一):disksim及ssdmodel模块扩展的安装

    2015-09-09

    #SSD#Disksim#Ubuntu

  • 固态硬盘(SSD)原理及相关介绍

    2015-08-31

    #SSD

  • windows7下安装ubuntu及相关问题的解决方案

    2015-08-27

    #Ubuntu

  • python 正则表达式的使用

    2015-08-22

    #Python#爬虫#正则表达式

  • 基于 python socket 的端口扫描程序

    2015-03-29

    #Python#端口扫描

  • mysql windows 下zip安装

    2015-03-29

    #Mysql