Matlab学习(台大郭彦甫)第5节-初阶绘图
Matlab学习(台大郭彦甫)第5节-初阶绘图
- 第5节 初阶绘图
- 5.1 基础绘图
- 5.1.1 plot()函数
- 5.1.2 hold on/off
- 5.1.3 Plot Style(绘图风格)
- 5.1.4 legend()添加图例
- 5.1.5 title() and label()添加图名和坐标轴名
- 5.1.6 text() and annotation()(输入文本 和 增加箭头)
- 5.1.7 练习1
- 5.2 Graphical object properties(绘图物件特性)
- 5.2.1 Graphical Object(图形对象)
- 5.2.2 Fetch or modify the object's properties(获取或修改对象的属性)
- 5.3 Marker Specification(标记规范)
- 5.3.1 Face and edge colors of the markder(标记器中面和边的颜色)
- 5.3.2 练习2
- 5.4 Multiple Figures(多图形)
- 5.5 Several Plots in One Figure(一个图中包含几个图形)
- 5.6 Control of Grid,Box,and Axis(控制网格、框和轴)
- 5.7 Saving Figures into Files(将图形保存到文件中)
第5节 初阶绘图
5.1 基础绘图
5.1.1 plot()函数
- plot(x,y)plots each
vector pairs(x,y),即向量对 - plot(y)plots each vector pairs(x,y),
where x = [1…n],n = length(y)
示例代码:
clear;
clc;
x=1:0.2:10;
y=x.^2;
plot(x,y);
示例代码:
plot(cos(0:pi/20:2*pi));
5.1.2 hold on/off
- Use ‘ hold on ’ to have both plots in one figure(使用“hold on”将两个图放在一个图形中)
示例代码:
hold on
plot(cos(0:pi/20:2*pi));
plot(sin(0:pi/20:2*pi));
hold off
结果:
5.1.3 Plot Style(绘图风格)
- plot(x,y,‘str’) plots each vector pairs (x,y)
using the format defined in str (check this)
示例代码:
hold on
plot(cos(0:pi/20:2*pi),'or--');%%'o'代表点形o,'r'代表颜色是红色red,'--'代表线形
plot(sin(0:pi/20:2*pi),'xb-.');%%'x'代表点形x,'b'代表颜色为蓝色blue,'-.'代表线形
hold off
5.1.4 legend()添加图例
- Add legend to graph(向图表添加图例,即下图示例右上角部分)
- Position adjustment(位置调整)
示例代码:
x=0:0.5:4*pi;
y=sin(x);
h=cos(x);
w=1./(1+exp(-x));
g=(1/(2*pi*2)^0.5).*exp((-1.*(x-2*pi).^2)./(2*2^2));
plot(x,y,'bd-',x,h,'gp:',x,w,'ro-',x,g,'c^-');
legend('sin(x)','cos(x)','Sigmoid','Gauss function');
注意:右上角的图例其实是可以拖动的
5.1.5 title() and label()添加图名和坐标轴名
- title()添加图名标题
- xlabel()添加x轴的名字
- ylabel()添加y轴的名字
- zlabel()添加z轴的名字
示例代码:
x = 0:0.1:2*pi;
y1 = sin(x);
y2 = exp(-x);
plot(x, y1, '--*', x, y2, ':o');
xlabel('t = 0 to 2\pi');
ylabel('values of sin(t) and e^{-x}')
title('Function Plots of sin(t) and e^{-x}');
legend('sin(t)','e^{-x}');
注意:
需要打‘\pi’才能显示π\piπ
需要打‘e^{-x}’才能显示e−xe^{-x}e−x
5.1.6 text() and annotation()(输入文本 和 增加箭头)
示例代码:
x = linspace(0,3);
y = x.^2.*sin(x);
plot(x,y);
line([2,2],[0,2^2*sin(2)]);
str = '$$ \int_{0}^{2} x^2\sin(x) dx $$';
text(0.25,2.5,str,'Interpreter','latex');
annotation('arrow','X',[0.32,0.5],'Y',[0.6,0.4]);
注意:
- linspace(0,3)是指生成0到3之间100个等距的点。
- line([2,2],[0,2^2sin(2)]),绘制一条从点(2,0)到点(2,2 ^2sin(2))的直线
- text(0.25,2.5,str,‘Interpreter’,‘latex’),添加文本,文本的起点坐标为(0.25,2.5)
结果:
5.1.7 练习1
代码:
clear;
clc;
t=1:0.01:2;
f=t.*t;
g=sin(2*pi*t);
plot(t,f,'k',t,g,'or');
legend('t^{2}','sin(2\pit)');
title('Mini Assignment #1');
xlabel('Time (ms)');
ylabel('f(t)');
运行结果:
5.2 Graphical object properties(绘图物件特性)
5.2.1 Graphical Object(图形对象)
- A figure is composed of many object(一个图形由许多对象组成)
注意: - gcf 返回当前Figure 对象的句柄值
- gca 返回当前axes 对象的句柄值
- gco 返回当前鼠标单击的句柄值,该对象可以是除root 对象外的任意图形对象,并且Matlab 会把当前图形对象的句柄值存放在Figure 的CurrentObject属性中。
示例代码:
x = linspace(0, 2*pi, 1000);
y = sin(x);
plot(x,y);
set(gcf, 'Color', [1 1 1]);
5.2.2 Fetch or modify the object’s properties(获取或修改对象的属性)
- get()函数,用于获取对象属性;
- set()函数,用于修改对象属性。
例子:
clear;
clc;
x = linspace(0, 2*pi, 1000);
y = sin(x);
h = plot(x,y,'b');
利用get()函数获取对象属性:
get(h);
获得曲线的属性
get(gca);
获取坐标轴的属性
set(gca,'XLim',[0,2*pi]);
set(gca,'YLim',[-1.2,1.2]);
% xlim([0,2*pi]);
% ylim([-1.2,1.2]);
将X轴坐标显示为0到2*pi;
Y轴坐标显示为-1.2到1.2
set(gca,'FontSize',25);
将坐标轴上的字体变为25号
set(gca,'XTick',0:pi/2:2*pi);%改变X轴的取值,使其与角度值有关(弧度制)
set(gca,'XTickLabel',0:90:360);;%将X轴刻度转换为角度
set(gca, 'XTickLabel', {'0', '\pi/2', '\pi', '3\pi/2', '2\pi'})%将X轴刻度变为文本显示
set(h,'LineStyle','-.','LineWidth',7.0,'Color','g');%或者plot(x,y'-.g','LineWidth',7.0);
将线条的风格变成‘-.'的形式,线的宽度变为7.0,线的颜色变为绿色
delete(h);
删除线条
5.3 Marker Specification(标记规范)
5.3.1 Face and edge colors of the markder(标记器中面和边的颜色)
clear;
clc;
x=rand(20,1);%生成20行1列的在0-1之间的随机数组
plot(x,'-md','LineWidth', 2, 'MarkerEdgeColor', 'k','MarkerFaceColor', 'g', 'MarkerSize', 10);
%表示画出来的图形,线条是实线,颜色是品红,点的形状为菱形;标记器的边缘颜色为黑色,标记器的内部颜色为绿色,标记器的大小为10
%-md,表示实线,品红,菱形
xlim([1, 20]);%x轴设置为1-20
set(gca, 'FontSize', 18);%坐标轴上的字号为18
结果图:
5.3.2 练习2
示例代码:
clear;
clc;
t=linspace(1,2,40);%在1到2之间,均匀生成40个点
f=t.^2;
g=sin(2*pi.*t);
h1=plot(t,f,'k','LineWidth',3);%画出f曲线,颜色为黑色'k',线的宽度为3
hold on;
h2=plot(t,g,'om','LineWidth',3,'MarkerFaceColor','m');
%画出g曲线,点的形状为圆圈'o',颜色为品红'm',线的宽度为3,标记器的内部颜色为品红'm'
set(gca,'YTick',-1:4);%将Y轴设置为-1到4
legend('t^{2}','sin(2\pit)');%设置图例
title('Mini Assignment #1');%设置图标题
xlabel('Time (ms)');%设置X轴标题
ylabel('f(t)');%设置y轴标题
5.4 Multiple Figures(多图形)
- Create a figure window by calling figure(通过调用figure创建figure窗口)
clear;
clc;
x = -10:0.1:10;
y1 = x.^2 - 8;
y2 = exp(x);
plot(x,y1);
figure;
plot(x,y2);
运行结果:
5.5 Several Plots in One Figure(一个图中包含几个图形)
- Several small plots ”in a figure“(用几个小图合成一个大图)
- subplot()函数
clear;
clc;
t = 0:0.1:2*pi;
x = 3*cos(t);
y = sin(t);
subplot(2, 2, 1); plot(x, y); axis normal
subplot(2, 2, 2); plot(x, y); axis square
subplot(2, 2, 3); plot(x, y); axis equal
subplot(2, 2, 4); plot(x, y); axis equal tight
5.6 Control of Grid,Box,and Axis(控制网格、框和轴)
5.7 Saving Figures into Files(将图形保存到文件中)
参考:请看大佬原文(戳这里)
Matlab学习(台大郭彦甫)第5节-初阶绘图相关推荐
- matlab求两向量夹角_MATLAB教程-台大郭彦甫-第十节,含练习答案
10-数值微积分 一.Polynomial differentiation and integration(多项式微分与积分) (一)Differentiation(微分) 1.The derivat ...
- 【台大郭彦甫】Matlab入门教程超详细学习笔记二:基本操作与矩阵运算(附PPT链接)
Matlab入门教程超详细学习笔记二:基本操作与矩阵运算 前言 一.基本操作 1.把matlab当作计算器使用 2.变量 3.控制格式输出 二.矩阵运算 1.矩阵 2.矩阵索引 3.使用:创建向量 4 ...
- 【台大郭彦甫】Matlab入门教程超详细学习笔记六:高阶绘图(附PPT链接)
高阶绘图 前言 一.进阶二维绘图 1. 对数图 2.一图双y轴 3. 直方图 4. 条形图 5. 饼状图 6. 极坐标图 7. 阶梯图与取样图 8. 箱线图以及误差线图 9. 填充图 二.配色 1.R ...
- 【台大郭彦甫】Matlab入门教程超详细学习笔记四:数据类型与文件读写(附PPT链接)
变量类型与文件读写 前言 一.变量类型 1.numeric(数值类型) 2.char(字符类型) 3.string(字符串类型) 4.structure(结构体) 5.cell(元胞数组) 5.高维数 ...
- 台大郭彦甫-Matlab软件学习课堂exercise示例(第二讲)
台大郭彦甫-Matlab软件学习课堂exercise示例 (仅供参考) 第二讲 基本操作与矩阵输入 (P6 exercise) >> cos(((1+2+3+4)^3/5)^(1/2))a ...
- 【台大郭彦甫】Matlab入门教程超详细学习笔记七:数值微积分(附PPT链接)
数值微积分 前言 一.多项式微积分 1. 多项式计算 2. 多项式微分 3. 多项式积分 二.数值微积分 1. 数值微分法 2. 高阶微分法 3. 数值积分法 三.回顾Function Handles ...
- 【台大郭彦甫】Matlab入门教程超详细学习笔记五:初阶绘图(附PPT链接)
初阶绘图 前言 一.基础绘图 1.plot() 绘制二维线图 2.legend()添加图例 3.title()和*label()添加标题与坐标轴 4.text()和annotation()增加注解 二 ...
- Matlab笔记(台大郭彦甫14课)
台大郭彦甫老师Matlab教程 Applications of Matlab in Engineering https://www.bilibili.com/video/BV1GJ41137UH?p= ...
- 台大郭彦甫教授Matlab讲解笔记(一)
台大郭彦甫教授Matlab讲解笔记(一) Introduction 对于一个软件的学习,首先要认识它的界面,了解各个窗口.我用的是2015b版的MATLAB. 大致分为四个窗口. 当前文件夹:展示了电 ...
最新文章
- VMware View Composer 虚拟机映像管理
- html如何扩大div,HTML – 如何让绝对div适合父宽度/填充?
- 9岁印度女孩成为最年轻微软认证专家
- Windows服务器上怎样开放指定端口
- Bengio等人新作:基于双层规划的端到端分子构象生成框架
- BZOJ 2818 Gcd
- 【JS 逆向百例】网洛者反爬练习平台第二题:JJEncode 加密
- GCC: libgcc的用途以及交叉编译
- vue 多页面应用例子_【微服务】137:Vue之生命周期钩子
- IDEA→编码设置、JDK设置、快捷方式、运行项目、debug、关联git、关联maven、mybatis跳转plugin
- activity 变成后台进程后被杀死_Android开发后台服务
- 【环球产品探寻 4】Wolftech News拥有一流用户体验的媒体工作流系统 - 挪威
- 小知识--电脑的快捷键
- Excel 隔行插入行V2022.7(支持win11,支持Office 和WPS)
- ubuntu恢复被rm误删的数据及原理
- 那些中国式家庭的小烦恼,我看用AI来解决就“都挺好”
- Java框架之Struts2(六)
- ROS rosbridge
- C#截取picturebox的一部分图片
- 关于教育类网站的安全防护方案