欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

matlab绘图使用过程中的那些事儿

程序员文章站 2022-05-21 09:25:29
...

目录

插入图例并调整其位置

给图片加标题

给坐标轴加标注

调整图片的尺寸

添加网格线

获取图像中某点的坐标

绘制平行于坐标轴的直线

绘制不同颜色的曲线

结语


插入图例并调整其位置

方法一:代码修改

legend('string','location','a');  %legend加图例命令
%string是函数名称;
%location不要改;
%a是图例位置,'north'|'south'|'east'|'west'|'northeast'|'southeast'|'northwest'|'southwest'|...,默认为'northeast'.

注意问题:有时一幅图上绘制了多条曲线,但是我们只需要标注其中几条曲线的图例;

解决方法:绘制多条曲线时使用句柄,通过句柄选择要标注图例的曲线,示例代码如下:

x = 0 : 0.01 : 4*pi;
y1 = sin(x);
y2 = cos(x);
y3 = 3*cos(x);
y4 = cos(x).*sin(x);
y5 = cos(x) + sin(x);
y6 = cos(x) - 2*sin(x);

h1 = plot(x,y1,x,y2,x,y3);  %h1是句柄. 

hold on 
%注意hold on的位置一定要放在中间,如果放在绘制代码的最上面,则可能使用句柄无效,可能会达不到只标注其中几条曲线的图例的目的(我自己代码里面遇到的问题,调整该命令的位置后就解决了). 

h2 = plot(x,y4,x,y5,x,y6);  %h2是句柄. 

legend('sin(x)','cos(x)','3cos(x)','cos(x)*sin(x)','cos(x) + sin(x)','cos(x) - sin(x)')
%给所有曲线标注图例. 

% legend([h1(1),h1(3),h2(2)],'sin(x)','3cos(x)','cos(x) + sin(x)')
% %给指定曲线标注图例

方法二:在fig图片窗口,菜单栏选择“插入--图例”,右键单击图例,选择“位置--东北|西北|东南|西南|...”. 

给图片加标题

方法一:代码修改

title('string');  %title给图形放上标题
%string是图片的标题名称. 

gtext('string');  %将标注函数放到相应曲线上(暂未使用过,有需要再试). 

方法二:在fig图片窗口,菜单栏选择“插入--标题”. 

给坐标轴加标注

方法一:代码修改

xlabel('xString'), ylabel('yString');  %对x轴和y轴进行标注. 

方法二:在fig图片窗口,菜单栏选择“插入--X标签|Y标签|...”. 

注意问题:如果原来的fig图片已经有横纵坐标标注了,但是想要修改原有的标注内容;

解决方法:如果重新绘制这张图片不需要很长时间,可以修改代码里的xlabel或者ylabel,然后重新运行代码生成新图片;

                  反之,可以通过fig图片窗口修改,菜单栏选择“工具--编辑图形”,然后双击需要修改的横/纵坐标轴标注,即可修改。

调整图片的尺寸

方法一:使用图形句柄,具体可参照????1:https://zhidao.baidu.com/question/985342871030671179.html;????2:https://zhidao.baidu.com/question/139946719.html(个人感觉比较麻烦,暂未使用过,有需要再试). 

方法二:在fig图片窗口,菜单栏选择“文件--导出设置”,在导出设置窗口分别输入宽度和高度,注意单位默认是厘米. 

matlab绘图使用过程中的那些事儿

注意问题:若图形窗口左上角的文件名显示是“图形-Figure1”,则说明打开了编辑对象属性框,此时导出设置对图形无效;

解决方法:在该图片窗口的菜单栏选择“桌面--停靠Figure1”,Figure1将出现在主窗口的编辑器旁边,再点击该窗口下菜单栏“桌面--取消停靠”即可,此时将重新打开fig图片窗口,左上角文件名变回“Figure1”,可进行导出设置操作。

matlab绘图使用过程中的那些事儿  matlab绘图使用过程中的那些事儿matlab绘图使用过程中的那些事儿 

添加网格线

方法:在plot函数后加上grid on或grid minor(更细的网格线)。

plot(x,y,'k--');
grid on;  %添加网格线
%grid minor;  %添加更密集的网格线

获取图像中某点的坐标

方法:在fig图片窗口,点击选中工具栏的“数据游标”,matlab绘图使用过程中的那些事儿,此时将鼠标放到曲线上任意位置时鼠标变为空心的十字形,打击左键即可显示曲线上该点的坐标,如matlab绘图使用过程中的那些事儿。若要同时显示多个点的坐标,则按住Alt键的同时再次点击另一个点,如matlab绘图使用过程中的那些事儿。通过单击任一个坐标显示框可选中该坐标,然后通过按键盘上的“<—Home”或“End—>”向左或右移动该点。

绘制平行于坐标轴的直线

方法一:参照该博客????https://blog.csdn.net/lqzdreamer/article/details/70492248

方法二:因为我是要在已有的图形上添加一条平行于x轴的直线,所以已有图形的横纵坐标范围已知,既然是直线,可以根据范围直接定义直线两端点,然后绘制这两点确定的直线。如横坐标范围5到35,纵坐标范围-12到2,要绘制直线y=0,则定义该直线的两端点坐标(5,0),(35,0),然后plot(x,y)即可,前面要加上hold on保持不覆盖已有图形。

绘制不同颜色的曲线

plot(x1,y1,'color',x2,y2,'color');
%color定义了绘制前面曲线的颜色,y|g|m|b|c|w|r|k,y黄色|g绿色|m洋红|b蓝色|c青色|w白色|r红色|k黑色

 

结语

好了,暂时就总结这么多了,都是最近遇到的问题,把解决方法整理到一起,方便自己后续查阅。

相关标签: matlab plot