MATLAB之最干货(三)——图像绘制
很快,到了我们的图像绘制环节,在研究中,图像绘制是很常用的,对研究的数据进行直观体现。下面,我们就开始今天的内容——matlab中的图像绘制,肘子~~
首先,变量备用,用来下面举例子
x = 0:0.1:2*pi;
y1 = sin(x);
y2 = cos(x);
一、二维曲线的绘制
1.基本函数
(1)plot(y) ,y为向量
plot(y1); % 纵坐标为y的值;横坐标自动为元素序号(角标+1),此处为1~9
(2)plot(y) ,y为矩阵
figure; % 开启新绘图窗口,下一次绘图在新窗口
y = [y1',y2'];
plot(y); % 当y为矩阵,按每一列画出曲线,颜色自动区分
(3)plot(x,y) ,xy为向量
plot(x,y1);
(4) plot(x1, y1, x2, y2…)
plot(x,y1,x,y2); %在同一个窗口绘制两条曲线
2.线性图形格式设置
(1)线的颜色,样式
plot (x,y1,'b:o'); %蓝色 点线 圆圈
% b蓝 g绿 r红 c青 m紫 y黄 k黑 w白 % -实线 :点线 --虚线 -.点画线 % .实点 o圆圈 x叉 +十字 *星号
s方块 d钻石 v下三角 ^上三角 <左三角 >右三角 p五角星 h六角星
(2)坐标轴
plot(x,y1);
axis([-1*pi,3*pi,-1.5,1.5]); %规定横纵坐标范围
此例坐标轴为x→ [-pi - 3pi], y→[-1.5 - 1.5]
3.图形修饰
(1)标题标签
title('a title') ; %图像标题
xlabel ('this is x') % x轴标记,yz 同理
(2)图例设置
legend('hahaha','location','best'); %str的顺序与绘图顺序一致; 'best'指图例位置最佳化,还有其他位置
(3)图形保持
plot(x,y1);
hold on ; %在原有的窗口y1曲线上增加绘制下一个图形
plot(x,y2); %y2在同一个窗口被绘制
hold off;
(4)分割绘制
subplot(2, 2, 1); % 分割成2x2区域,在第一块区域绘制下一个图形
plot(x, y1); % y1被绘制在4块区域的第一块
subplot(2, 2, 2); % 分割方法相同,区域改变
plot(x, y2); % y2在第二块区域
二、二维特征图绘制
1.柱状图
bar(x, y, width, '参数');
% x横坐标向量,m个元素; y为向量时,每个x画一竖条共m条,矩阵mxn时,每个x画n条;
% width宽度默认0.8,超过1各条会重叠;
% 参数有grouped分组式,stacked堆栈式; 默认grouped
% bar垂直柱状图,barh水平柱状图,bar3三维柱状图,barh3水平三维柱状图(三维多一个参数detached, 且为默认)
2.饼状图
pie(x, explode, 'lable');
% x为向量显示每个元素占总和百分比, 为矩阵显示每个元素占所有总和百分比
% explode向量与x同长度,为1表示该元素被分离突出显示,默认全0不分离
% pie3绘制三维饼图
3.直方图
hist(y, n); % y为向量,把横坐标分为n段绘制
hist(y, x); % x为向量,用于指定每段中间值, 若取N = hist(y, x), N为每段元素个数。
4.离散数据图
stairs(x, y, 'b-o'); % 阶梯图,参数同plot
stem(x, y, 'fill'); % 火柴杆图,参数fill是填充火柴杆,或定义线形
candle(HI, LO, CL, OP); % 蜡烛图:HI为最高价格向量,LO为最低价格向量,CL为收盘价格向量,OP为开盘价格向量
5.向量图
compass(u, v, 'b-o'); % 罗盘图横坐标u纵坐标v
compass(Z, 'b-o'); % 罗盘图复向量Z
feather(u, v, 'b-o'); % 羽毛图横坐标u纵坐标v
feather(Z, 'b-o'); % 羽毛图复向量Z
quiver(x, y, u, v); % 以(x, y)为起点(u, v)为终点向量场图
6.极坐标图
% polar(theta, rho, ‘b-o’); % 极角theta, 半径rho
theta = -pi:0.01:pi;
rho = sin(theta);
polar(theta, rho, 'b')
7.对数坐标图
semilogx(x1, y1, 'b-o'); % 把x轴对数刻度表示, semilogy是y轴对数刻度表示,loglog是两个坐标都用对数表示
8.双纵坐标
plotyy(x1, y1, x2, y2, 'fun1', 'fun2'); % fun规定了两条条线的绘制方式,如plot,semilogx,semilogy,loglog,stem等
9.函数绘图
f = 'sin(2*x)';
ezplot(f, [0, 2*pi]); % 绘制f并规定横坐标范围,也有[xmin, xmax, ymin, ymax]
x = '2*cos(t)';
y = '4*sin(t)';
ezplot(x, y); % 绘制x(t),y(t)在[0, 2*pi]图像, 也可以在最后用[tmin, tmax]规定t的范围
三、三维曲线曲面绘制
1.三维曲线
x = 0:0.1:2*pi;
y = sin(x);
z = cos(x);
plo3 (x,y,z,'b-*');
2.三维曲面
(1)三维网格
x = -5:0.1:5; % 规定了x轴采样点,也规定了x轴范围
y = -4:0.1:4; % 规定了y轴采样点,也规定了y轴范围
[X, Y] = meshgrid(x, y); % 得到了xoy面网格点
Z = X.^2+Y.^2;
mesh(X, Y, Z) % XY是meshgrid得到的网格点,Z是网格顶点,c是用色矩阵可省略
(3)三维表面图
x = -5:0.1:5;
y = -4:0.1:4;
[X, Y] = meshgrid(x, y);
Z = X.^2+Y.^2; % 以上部分同上
surf(X, Y, Z) % 与上一个类似
到此,这一节内容也就结束了,希望可以带给大家一些需要的知识,如果上诉有啥码字错误希望大家批评指正(风里雨里,评论区等你),有遇到看不懂的地方欢迎留言评论。
好了,不再比比,下次见,继续干货
别忘了点个赞支持哦,没有大家对弟弟的支持,弟弟狗篮子不是~~