[个人笔记]matlab教程09

图形绘制

plot函数(二维线图)

语法说明
plot(X,Y)如果 X 和 Y 都是向量,则它们的长度必须相同。plot 函数绘制 Y 对 X 的图。如果 X 和 Y 均为矩阵,则它们的大小必须相同。plot 函数绘制 Y 的列对 X 的列的图;如果 X 或 Y 中的一个是向量而另一个是矩阵,则矩阵的各维中必须有一维与向量的长度相等。如果矩阵的行数等于向量长度,则 plot 函数绘制矩阵中的每一列对向量的图。如果矩阵的列数等于向量长度,则该函数绘制矩阵中的每一行对向量的图。如果矩阵为方阵,则该函数绘制每一列对向量的图;如果 X 或 Y 之一为标量,而另一个为标量或向量,则 plot 函数会绘制离散点。但是,要查看这些点,您必须指定标记符号绘制符号同前一篇的。
plot(X,Y,LineSpec)设置线型、标记符号和颜色。也同前一篇。
plot(X1,Y1,…,Xn,Yn)绘制多个 X、Y 对组的图,所有线条都使用相同的坐标区。
plot(X1,Y1,LineSpec1,…,Xn,Yn,LineSpecn)绘制多个,同时设置线型、颜色等
plot(Y)创建 Y 中数据对每个值索引的二维线图。如果 Y 是向量,x 轴的刻度范围是从 1 至 length(Y);如果 Y 是矩阵,则 plot 函数绘制 Y 中各列对其行号的图。x 轴的刻度范围是从 1 到 Y 的行数;如果 Y 是复数,则 plot 函数绘制 Y 的虚部对 Y 的实部的图,使得 plot(Y) 等效于 plot(real(Y),imag(Y))。
plot(Y,LineSpec)同上,并二外设置线型颜色
plot(___,Name,Value)使用一个或多个 Name,Value 对组参数指定线条属性。有关属性列表,请参阅 Line 属性。可以将此选项与前面语法中的任何输入参数组合一起使用。名称-值对组设置将应用于绘制的所有线条。同上篇的选项
plot(ax,___)将在由 ax 指定的坐标区中,而不是在当前坐标区 (gca) 中创建线条。选项 ax 可以位于前面的语法中的任何输入参数组合之前。(就是把一个图分成几块,在某一块上画的时候用)
h = plot(___)返回由图形线条对象组成的列向量。在创建特定的图形线条后,可以使用 h 修改其属性。重点在后期修改,如不需要就完全用不上。

一个很好的帮助例子,顺便还包含了几个很好用的函数,可以在帮助中查到。

ax1 = subplot(2,1,1); % top subplot
x = linspace(0,3);
y1 = sin(5*x);
plot(ax1,x,y1)
title(ax1,'Top Subplot')
ylabel(ax1,'sin(5x)')

ax2 = subplot(2,1,2); % bottom subplot
y2 = sin(15*x);
plot(ax2,x,y2)
title(ax2,'Bottom Subplot')
ylabel(ax2,'sin(15x)')

在这里插入图片描述
ezplot函数(2019a已经不推荐使用该函数,因此,这里也不再学习该函数。)
fplot函数(绘制表达式或函数)
笔记08中已经说明了
对于一些其他的图形绘制(例如饼状图、柱状图……)
打开matlab的绘图选项(要在右侧工作区选择好你要绘制的数据)就可以选择绘制的图形。
在这里插入图片描述
当然也可以使用函数绘制

线图说明
plot线性坐标区的二维线图
semilogx半对数刻度图
semilogy半对数刻度图(我没打错一个x,一个y)
loglog双对数刻度图
area填充区域图
errorbar误差条形图
errorbar水平误差条形图
plot3三维线图
comet彗星轨迹图
stacked plot堆叠图
针图和阶梯图说明
stem离散序列或针状图
stairs阶梯图
stairs3三维针状图
条形图说明
bar条形图(可堆叠)
barh水平条形图(可堆叠)
bar3三维条形图
bar3h三维水平条形图
plotmatrix散点图矩阵
histogram直方图
pareto帕累托图
plotmatrix散点矩阵

散点矩阵图被归到条形图,我也是很震惊。

散点图说明
scatter散点/气泡图
scatter3三维散点
spy可视化稀疏模式
plotmatrix散点矩阵
说明
graph绘制无向图
digraph绘制有向图
饼图说明
pie饼图
pie3三维饼图
直方图说明
histogram直方图
histogram2二维直方图
rose角直方图

……
所有的绘图功能函数都在绘图选项中,点击所有绘图就会显示。因为函数太多,再往下的就不一一列举。编写程序前在绘图选项中查找好对应图的函数,查询帮助就可以获得试用方法。
隐函数绘制
二维用fimplicit函数;三维用fimplicit3函数。
教程里花里胡哨的用什么isosurface函数(从三维体数据中提取等值面数据),matlab已经并且的有隐函数绘制函数非得炫,NB。
然而我并不觉得这样很炫。(左教程用isosurface绘制,右使用fimplicit绘制)教程用了12行代码。我用了3行。
在这里插入图片描述

对图形修饰

视角调整view函数
举个例子:

clc
[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
subplot(2,2,1);mesh(X,Y,Z);
view(-37.5,30);
title('-37.5 30')
subplot(2,2,2);mesh(X,Y,Z);
view(0,90);
title('0 90')
subplot(2,2,3);mesh(X,Y,Z);
view(90,0);
title('90 0')
subplot(2,2,4);mesh(X,Y,Z);
view(-7,-10);
title('--7 -10')

运行后结果
在这里插入图片描述
如何让图像动起来
drawnow函数配合循环,在循环中不断刷新图像,就可以实现一个动态的显示。

clc
[X,Y] = meshgrid(-8:.5:8);
R = sqrt(X.^2 + Y.^2) + eps;
Z = sin(R)./R;
for c=1:360
    mesh(X,Y,Z);
    view(0,c);
    drawnow;
end

它就会旋转一圈。
设置颜色着色属性shading函数
光照处理效果
创建光源对象light函数
颜色图编辑器
对三维图再加工。colormapeditor,在命令窗口栏输入即可调用此工具。
在这里插入图片描述
举个例子,用之前的代码画出图像。再打开颜色编辑器。在工具中的标准颜色中选择一种。
在这里插入图片描述
就变成了另一种颜色。
在这里插入图片描述
移动游标应用在这里插入图片描述
就可以手动更改颜色。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值