matlab绘图使用过程中的那些事儿
目录
插入图例并调整其位置
方法一:代码修改
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图片窗口,菜单栏选择“文件--导出设置”,在导出设置窗口分别输入宽度和高度,注意单位默认是厘米.
注意问题:若图形窗口左上角的文件名显示是“图形-Figure1”,则说明打开了编辑对象属性框,此时导出设置对图形无效;
解决方法:在该图片窗口的菜单栏选择“桌面--停靠Figure1”,Figure1将出现在主窗口的编辑器旁边,再点击该窗口下菜单栏“桌面--取消停靠”即可,此时将重新打开fig图片窗口,左上角文件名变回“Figure1”,可进行导出设置操作。
添加网格线
方法:在plot函数后加上grid on或grid minor(更细的网格线)。
plot(x,y,'k--');
grid on; %添加网格线
%grid minor; %添加更密集的网格线
获取图像中某点的坐标
方法:在fig图片窗口,点击选中工具栏的“数据游标”,,此时将鼠标放到曲线上任意位置时鼠标变为空心的十字形,打击左键即可显示曲线上该点的坐标,如。若要同时显示多个点的坐标,则按住Alt键的同时再次点击另一个点,如。通过单击任一个坐标显示框可选中该坐标,然后通过按键盘上的“<—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绘图如何将ylabel旋转
下一篇: MATLAB画图函数plot简单用法