本文参考:MATLAB04:基础绘图-CSDN博客
plot(x,y,LineSpec)
各参数意义如下:
x
: 图线上点的x坐标y
: 图线上点的y坐标LineSpec
: 图线的线条设定,三个指定 线型 , 标记符号 和 颜色 的 设定符 组成一个字符串,设定符不区分先后.具体细节请参考 官方文档 . 线型设定符 | 线型 | 标记设定符 | 标记 | 颜色设定符 | 颜色 |
| 实线(默认) |
| 圆圈 |
| 黄色 |
| 虚线 |
| 加号 |
| 品红色 |
| 点线 |
| 星号 |
| 青蓝色 |
| 点划线 |
| 点 |
| 红色 |
| 叉号 |
| 绿色 | ||
| 方形 |
| 蓝色 | ||
| 菱形 |
| 白色 | ||
| 上三角 |
| 黑色 | ||
| 下三角 | ||||
| 右三角 | ||||
| 左三角 | ||||
| 五角形 | ||||
| 六角形 |
下面例子演示了绘制( 0 , 2 π ) (0, 2\pi)(0,2π)内余弦函数的图像:
x = 0:pi/20:2*pi;
y = cos(x);
plot(x, y, 'r.-')
使用 legend()
函数为图片增加图例 使用 legend(label1, ..., labelN)
函数可以为图片添加图例.
x=0:0.5:4*pi;
y=sin(x); h=cos(x); w=1./(1+exp(-x)); g=(1/(2*pi*2)^0.5).*exp((-1.*(x-2*pi).^2)./(2*2^2));
plot(x,y,'bd-' ,x,h,'gp:',x,w,'ro-' ,x,g,'c^-'); % 绘制多条图线
legend('sin(x)','cos(x)','Sigmoid','Gauss function'); % 添加图例
title()
和 *label()
为图片增加标题和标签x = 0:0.1:2*pi; y1 = sin(x); y2 = exp(-x);
plot(x, y1, '--*', x, y2, ':o');
xlabel('t = 0 to 2\pi');
ylabel('values of sin(t) and e^{-x}')
title('Function Plots of sin(t) and e^{-x}');
legend('sin(t)','e^{-x}');
text()
和 annotation()
为图片增加注解x = linspace(0,3); y = x.^2.*sin(x); plot(x,y);
line([2,2],[0,2^2*sin(2)]);
str = '$$ \int_{0}^{2} x^2\sin(x) dx $$';
text(0.25,2.5,str,'Interpreter','latex');
annotation('arrow','X',[0.32,0.5],'Y',[0.6,0.4]);
我们可以使用hold on
和hold off
命令控制绘图区域的刷新,使得多个绘图结果同时保留在绘图区域中.
hold on % 提起画笔,开始绘制一组图片
plot(cos(0:pi/20:2*pi));
plot(sin(0:pi/20:2*pi));
hold off % 放下画笔,该组图片绘制完毕
subplot(m,n,p)
该命令表示将当前图窗划分为m
×n
个网格,并在第p
个网格内绘制图像.
示例如下:
subplot(2,2,1);
x = linspace(-3.8,3.8);
y_cos = cos(x);
plot(x,y_cos);
title('Subplot 1: Cosine')
subplot(2,2,2);
y_poly = 1 - x.^2./2 + x.^4./24;
plot(x,y_poly,'g');
title('Subplot 2: Polynomial')
subplot(2,2,[3,4]);
plot(x,y_cos,'b',x,y_poly,'g');
title('Subplot 3 and 4: Both')
使用get()
和set()
函数可以对图形对象的属性进行访问和修改.访问官方文档可以查看所有图形对象的属性.
set(H,Name,Value)
v = get(h,propertyName)
具体操作如下示例
clc;clear;
hold on % 提起画笔,开始绘制一组图片
x = 0:pi/20:2*pi;
y1 = sin(x);
y2 = cos(x);
h1 = plot(x,y1);
h2 = plot(x,y2);
hold off % 放下画笔,该组图片绘制完毕
%subplot(2,2,1);%subplot(m,n,p)图窗划分为m×n个网格,并在第p个网格内绘制图像.
title('y1=sin(x) and y2=cos(x)'); %设置标题
xlabel('x = 0 to 2\pi'); %设置x轴名称
ylabel('values of sin(x) and cos(x)') %设置y轴名称
legend('sin(x)','cos(x)'); %设置图例
set(gcf,'Color','0.8,0.8,0.8');%设置figure 背景颜色
%设置坐标属性,可以通过双击坐标查看有哪些属性
set(gca,'FontSize',20);%gca表示坐标
set(gca,'xlim',[0,2.*pi]);%设置x轴坐标范围
set(gca,'xtick',0:pi/2:2*pi);%设置x轴坐标间隔
set(gca,'XTickLabel',{'0','\pi/2','\pi','3\pi/2','2\pi'});%\pi=π
set(gca,'ylim',[-1,1]);%设置y轴坐标范围
set(gca,'ytick',-1:0.5:1);%设置y轴坐标间隔
set(gca,'YTickLabel',-1:0.5:1);%设置y轴的坐标刻度名称显示
%设置线的属性,可通过双击线查看有哪些属性
set(h1, 'LineStyle','-', ...
'LineWidth', 1.0, ...
'Color', '0,0,0');
saveas(gcf, 'myfigure.png') %图形保存
%获取坐标和fixture的参数信息
gca()
gcf()
双击图上对应位置可以查看有哪些属性
线位置
坐标位置
使用saveas(fig,filename)
命令可以将图形对象保存到文件中,其中fig
为图形句柄,filname
为文件名.
saveas(gcf, 'myfigure.png')
使用saveas()
函数将图像保存成位图时,会发生失真.要精确控制生成图片的质量,可以使用print()
函数,见官方文档
print('BarPlot','-dpng')
print
将绘图另存为 BarPlot.png
。