线型 | 说明 | 标记符 | 说明 | 颜色 | 说明 |
- | 实线(默认) | + | 加号符 | r | 红色 |
-- | 双划线 | o | 空心圆 | g | 绿色 |
: | 虚线 | * | 星号 | b | 蓝色 |
:. | 点划线 | . | 实心圆 | c | 青绿色 |
| | x | 叉号符 | m | 洋红色 |
| | s | 正方形 | y | 黄色 |
| | d | 菱形 | k | 黑色 |
| | ^ | 上三角形 | w | 白色 |
| | v | 下三角形 | | |
| | > | 右三角形 | | |
| | < | 左三角形 | | |
| | p | 五角星 | | |
| | h | 六边形 | | |
需要说明的是,LineSpec中设置曲线线型、标识符和颜色三项属性时,控制符的顺序不受限制并可以省略或者部分省略。也就是说'r-.*'、'-.r*'、'*-.r'等形式是等效的,都表示使用红色点划线连接各个节点,各节点使用“*”标识。
plot(...,'PropertyName',PropertyValue,...)设置由plot创建的所有曲线句柄对象的属性,Line对象属性和属性值参见附录,具体设置参考下面的实例,当然可以使用set/get进行设置。
plot(axes_handle,...)指定坐标系,也就是在axes_handle坐标系中绘图,在没有指定时默认为gca。
h = plot(...)返回由plot创建的所有曲线句柄对象的句柄。每条曲线对应一个句柄,如果有n条曲线,则h为n×1的数组。
注意
在同时绘制多条曲线时,如果没有指定曲线属性,plot按顺序循环使用当前坐标系中ColorOrder和LineStyleOrder两个属性。
默认情况,MATLAB在每次调用plot函数时将ColorOrder和LineStyleOrder自动重置为DefaultAxesColorOrder和DefaultAxesLineStyleOrde
set(0,'DefaultAxesColorOrder',’r|g|b|k’,'DefaultAxesLineStyleOrde r','-|-.|--|:')
使用hold all命令可以阻止调用plot函数时自动重置ColorOrder和LineStyleOrder属性,而是循环使用。注意hold on只是使多次绘制的图形叠加(相当于NextPlot),但不能阻止属性重置。
另外我们可以通过下面四个属性设置标识符的颜色和大小
LineWidth——指定线宽
MarkerEdgeColor——指定标识符的边缘颜色
MarkerFaceColor——指定标识符填充颜色
MarkerSize——指定标识符的大小
注意上面四个属性是针对当前坐标系中所有曲线的。
legend函数的基本用法是
LEGEND(string1,string2,string3, ...)
分别将字符串1、字符串2、字符串3……标注到图中,每个字符串对应的图标为画图时的图标。
例如:
plot(x,sin(x),'.b',x,cos(x),'+r')
legend('sin','cos')这样可以把"."标识为'sin',把"+"标识为"cos"
还可以用LEGEND(...,'Location',LOC) 来指定图例标识框的位置
这些是Matlab help文件。后面一段是对应的翻译和说明
(以上几个都是将图例标识放在框图内)
(以上几个将图例标识放在框图外)
举例:legend('sin','cos','location','northwest')可以将标识框放置在图的左上角。
Matlab设置gca修改坐标显示
1、坐标轴删除
set(gca,'xtick',[])%去掉x轴的刻度
set(gca,'ytick',[]) %去掉xy轴的刻度
set(gca,'xtick',[],'ytick',[]) %同时去掉x轴和y轴的刻度
2、Matlab中“坐标轴刻度”的不同风格 (以下代码在Matlab上运行以下即可理解)
x=1:8;
subplot(2,2,1)
plot(x); %tick style 0(auto)
subplot(2,2,2)
plot(x)
set(gca,'xtick',[1 3 6 8]); %style 1
set(gca,'ytick',[]); %style 2
subplot(2,2,3)
plot(x)
set(gca,'xtick',[1 3 6 8]);
set(gca,'xticklabel',sprintf('.4f|',get(gca,'xtick')));%style 3
set(gca,'ytick',[2 4 5 7]);
set(gca,'yticklabel',{'Two','Four','Five','Seven'});%style 4
subplot(2,2,4)
plot(x)
set(gca,'xminortick','on');%style 5
set(gca,'ticklength',[0.05 0.025]);%style 6
set(gca,'tickdir','out');%style 7
另附Maltab坐标调整程序一段:
x=20:10:20000;
y=rand(size(x));
semilogx(x,y);
set(gca,'XLim',[20 20000]);
set(gca,'XMinorTick','off');
set(gca,'XTick',[20 31.5 63 125 250 500 1000 2000 4000 8000 16000]);
set(gca,'XGrid','on');
set(gca,'XMinorGrid','off');
3、matlab坐标刻度调整
subplot(3,2,1);
plot(x);
title('默认格式');
subplot(3,2,2);
plot(x);
set(gca,'xtick',[1 3 6 8]);
set(gca,'ytick',[]);
title('X自定义间隔,Y关闭');
subplot(3,2,3);
plot(x);
set(gca,'xtick',[1 3 6 8]);
set(gca,'xticklabel',sprintf('.4f|',get(gca,'xtick')))
set(gca,'ytick',[2 4 5 7]);
set(gca,'yticklabel',{'Two','Four','Five','Seven'});
title('XY自定义间隔、精度及显示方式')
subplot(3,2,4);
plot(x);
set(gca,'xminortick','on'); % style 5
set(gca,'ticklength',[0.05 0.025]);
set(gca,'tickdir','out');
title('XY坐标刻度显示方式');
subplot(3,2,5);
plot(x);
set(gca,'xtick',[min(x) (max(x)+min(x))/2 max(x)]);
set(gca,'ytick',[min(x) (max(x)+min(x))/2 max(x)]);
title('论文中常用的标准3点式显示');
x=20:10:20000;
y=rand(size(x));
subplot(3,2,6)
semilogx(x,y);
set(gca,'XLim',[20 20000]);
set(gca,'XMinorTick','off');
set(gca,'XTick',[20 31.5 63 125 250 500 1000 2000 4000 8000 16000]);
set(gca,'XGrid','on');
set(gca,'XMinorGrid','off');
title('自定义网格显示')
%顺便附上可以格式化坐标刻度的程序段
x=get(gca,'xlim');
y=get(gca,'ylim');
set(gca,'xtick',[x(1) (x(1)+x(2))/2 x(2)]);
set(gca,'ytick',[y(1) (y(1)+y(2))/2 y(2)]);
get(gca,'xlim');是获取最大最小刻度的
如果需要获取所有在坐标轴上显示的刻度,需要使用get(gca,'ytick');
画完图像,如果觉得坐标尺度不是自己想要的,可以用xlim,ylim,zlim修改一下坐标尺度
xlim([-0.0015 0.0015]);
同理ylim,zlim
图像画完,如果觉得中间缺少网格,可以添加网格和调整
gird on; % 添加网格
grid minor; % 觉得网格不够密度
grid off; % 不想看到网格