文章目录
第二章图像处理
绘图基本知识
数据可视化命令plot
直角坐标系,对数坐标,极坐标形式
数据点可以用向量或者矩阵形式给出
类型可以是实型或复型
图形制作概述
1.准备绘图数据
- 离散
- 连续
2.选定绘图窗口与绘图区域
直角坐标
极坐标
饼图 旭日图
3.调入绘图函数命令
4.绘制图形格式
颜色标注大小
形状
5.输入所绘制的图形
2.1图形制作概述
x=0:0.01:2;
y=sin(x);
plot(x,y)
执行其他格式
function createfigure(X1, Y1)
%CREATEFIGURE(X1, Y1)
% X1: x 数据的向量
% Y1: y 数据的向量
% 由 MATLAB 于 13-Nov-2021 09:51:52 自动生成
% 创建 figure
figure1 = figure;
% 创建 axes
axes1 = axes('Parent',figure1);
hold(axes1,'on');
% 创建 plot
plot(X1,Y1);
box(axes1,'on');
hold(axes1,'off');
保存生成代码,下次打开的时候不用敲命令
matlab预设项
预设项
默认参数
打印预览
编辑坐标属性 查看 插入标签
三维旋转 还原视图
窗口 链接数据 调整颜色 编辑绘图
打开属性 间隔 网格 刻度 标识颜色
属性检查机器
不指定窗口的话就会覆盖窗口
2.2图形窗口概述
图形窗口的创建与控制
- 单个图形窗口的创建
函数命令:figure
调用格式: h=figure
h=figure(n)
看有没有figure(2)
没有就创建,有拿原来的
若执行绘图命令前已经打开几个图形窗口 绘图命令会把图形输出到当前窗口中,并把这个窗口中原来的图形覆盖
x=0:0.01:3
y=cos(x)
plot(x,y)
get(n)得到第n个图形窗口的有关属性
set(n)设置第n个图形窗口的有关属性
h=figure(1)
set(1,'name','hello')
set(h,'visible','on')
set(h,'visible','off')
get(h)
get(1)
set(n(数字或字段),属性 参数)
visible可视不可视
可视化修改 菜单操作
title(txt)
title(target,txt)
文本用单引号表示''
- 多重子图窗口的创建
函数命令:subplot
调用格式:h=subplot(m,n,p)
m列 n行
该命令将图形窗口分割为多个子图窗口
覆盖子图
多重子图窗口的创建
画图分析
2.3 二维基本图形命令
1.基本的图形命令
plot
plot(x)
plot(x,y)
plot(x,y1,x,y2…)
可以画多个函数在一起
- plot(x)
属性检查器修改属性
列优先,最终画出n条曲线
横轴元素的编号
每一列画一条线
-
plot(x,y)
离散化矩阵 -
plot(x,y1,x,y2…)
函数画图
x=0:0.2:2*pi
y=sin(x)
2.4图形的修饰
plot(x,y,s)x为横坐标,y为纵坐标 s为一字符
可以代表不同的线型,点标,颜色
s图形设置选项
第一条线都是蓝色
默认颜色排序 也可以用rgb值表示
叠加使用
多个图形的修饰
网格修饰
grid平面坐标的网格修饰
grid实现grid on和grid off状态之间的转换
axis设置坐标轴范围和纵横比
图形的标注
title xlabel ylabel
上述函数调用的格式大同小异
xlabel(标注,‘属性1’,’属性值1‘,’属性2‘,‘属性值2’.。。。)
属性为文本属性 字体大小,字体名,字体粗细
执行坐标轴的范围
axis([xmin,xmax,ymin,ymax])指定坐标范围
set(gca,‘ytick’,[0 1 2 3 4]指定y轴的标记
hold on(off) 保持不保持当前图形 此后绘制的所有图形都将添加在当前的图形窗口
grid on(off)打开关闭网格线
box on(off)画出取消图形外围的长方形
subplot(n,m,p)在一个窗口画多个图形
图轴的颜色和图形窗口的背景色可以用set函数自由设置.
box off
box on
axis范围
xlabel(‘x(0-\pi)’,‘fontweight’,‘bold’)
titile(‘sin’,‘属性’,‘属性值’)
0-2Π
文本标注及图例标注
- text(x,y,‘string’)
- gtext交互式文本标注
- legend(‘标注一’,‘标注2’,‘定位标号’)
legend图例的标注
2.5其他二维图形绘制函数
直方图
简单直方图
函数命令:bar barh
调用格式 :
bar(y) bar(y,width)
bar(x,y),bar(x,y,width)
bar(~,‘grouped’)
bar(~,‘stack’)
第二个参数是宽度
矩阵的话以行分组
subplot(3,1,1);bar(y);
subplot(3,1,2);bar(y,‘grouped’);//默认就是分好组的
subplot(3,1,3);bar(y,0.8,‘grouped’)
stack的运行效果
subplot(3,1,2);bar(y,‘stack’)
subplot(3,1,3);bar(y,0.8,‘stack’)
一组直方图
bar(x,y)
bar(x,y,width)
bar(x,y,width,‘stack’)
bar(x,y,width,‘grouped’)
该命令生成一组直方图,可视化结果为m组
每组n个垂直柱
y可以为一组向量,或者是mxn组矩阵
x=[6 9 10]
y=[1 2 3];
bar(x,y)
y=[1 2 3 4;2 3 4 5;5 6 7 8];
bar(x,y)
面积图
函数命令:area
调用格式:area(x,y)
该命令绘制(x,y)的面积图
x=0:0.01:2*pi;y=sin(x)
饼图
函数命令 pie
调用格式
pie(x)
pie(x,explode)
pie(…,labels)
绘制饼图
explode之后
加上标签之后
针状图
绘制x=[1 2 3 4 5 6]的针状图
clf
x=[1 2 3 4 5 6]
stem(x)
2.6不同坐标系中绘图
1直角坐标系
plot(x,y)
2.对数坐标系
函数命令:loglog semilogx,semilogy
调用格式:loglog(x,y) semilogx(x,y) semilogy(x,y)
log10(0)数学上没有意义,但是matlab不给出错误提示信息
双对数坐标系,半对数坐标系,绘制(x,y)对应的图形
3.极坐标中绘图
函数命令:polar
调用格式: polar(theta,r)g
极坐标转直角坐标
命令[x,y]=pol2cart(theta,r)
可使用命令[x,y]=pol2cart(theta,r)将极坐标系的数据点对(theta,r)
转化为直角坐标系的数据点对[x,y],命令plot(x,y)和命令polar(theta,r)的效果相同
axis equal/将横轴纵轴的定标系数设成相同值。 也就是说axis square刻度范围不一定一样,但是一定是方形的。 axis equal刻度是等长的,但也不一定是方形的。 使在每个方向的数据单位都相同。
4.双轴图
双轴图是指有 多个(≥2)Y轴的数据图表
除了适合分析两个相差较大的数据,双轴图也适用于不同数据走势、数据同环比分析等场景
函数命令:plotyy
调用格式:
[haxes,hline1,hline2]=plotyy(x1,y1,x2,y2,m1,m2)
- 两侧标记处理函数set
绘制双轴图
不同坐标系中绘图
x=0:0.01:2*pi;y1=sin(x);y2=cos(x);
get(Ax(n),‘Ylabel’)
set(get(…),‘string’,‘名字’)
set属性
h1h2是线
set(h1,‘color’,‘b’)
legend图标
legend off关闭图标
符号表达式绘图
函数命令:fplot,ezplot
调用格式:
fplot(fun,lims,tol,n,p1,p2)
ezplot(fun,lims,fig)
不用加引号
2.ezplot(fun,lims,fig)
fun:绘制函数fun的图形
lims:作图区间
fig:图形窗口句柄
隐函数画图引用
summary
批处理命令
本文的提取文件夹内文件名的方法,思路就是将文件保存到要提取文件名的目录下,保存为*.bat(*为文件名),然后双击执行就OK了。这也是传送中的批处理命令。
批量提取文件名
https://zhuanlan.zhihu.com/p/361049147
DIR *.* /B >LIST.TXT