先学习相关基础知识
此文为对应的MATLAB实操,增强理解
目录
一、plot()函数
1、绘制图线
plot(cos(0:pi/20:2*pi));
2、hold on与hold off
hold on是当前轴及图像保持而不被刷新,准备接受此后将绘制的图形,即多图共存。
hold off使当前轴及图像不再具备被刷新的性质,新图出现时,取消原图。即关闭图形保持功能。
hold on;
plot(cos(0:pi/20:2*pi));
plot(sin(0:pi/20:2*pi));
hold off
3、加入绘图的其他功能
标记【o】为圆圈符号,【x】为叉号符号,【r】代表红色,【g】代表绿色
hold on;
plot(cos(0:pi/20:2*pi),'or');
plot(sin(0:pi/20:2*pi),'xg');
hold off
还有其他各种功能参考最顶上的资料:
hold on;
plot(cos(0:pi/20:2*pi),'or--'); // 加入虚线
plot(sin(0:pi/20:2*pi),'xg:'); // 加入点线
hold off
二、legend()函数:装饰图线,为图片增加图例
x=0:0.5:4*pi; // x为函数的值域
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)); // y、h、w、g为函数
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');
legend('sin(t)','e^{-x}');
xlabel('t = 0 to 2\pi'); // x轴标签
ylabel('values of sin(t) and e^{-x}') // y轴标签
title('Function Plots of sin(t) and e^{-x}'); // 表头标题
四、line()函数:在画中画辅助线
line ( [ 起点横坐标,终点横坐标 ] , [ 起点纵坐标,终点纵坐标 ] )
具体例子看下面
五、text()和annotation()函数:为图片增加注解
x = linspace(0,3);
y = x.^2.*sin(x);
plot(x,y);
line([2,2],[0,2^2*sin(2)]); //起点和终点横坐标都为2,纵坐标初始为零,结尾为2^2*sin(2)
str = '$$ \int_{0}^{2} x^2\sin(x) dx $$'; //注释函数表述:【\int】是积分符号,【{0}】是下标,【^{2}】是上标
text(0.25,2.5,str,'Interpreter','latex'); //注解位置为(x,y)=(0.25,2.5)处,内容为str
annotation('arrow','X',[0.32,0.5],'Y',[0.6,0.4]); //箭头表述:【‘arrow’】是箭头,后面的XY为指向的区域范围
六、设置图线属性
可以点击任务栏【编辑】中的【图窗属性】
点击后出现下图,可点击【更多属性】进行设置
七、看内容
首先画个图
x=linspace(0,2*pi,100);
y=sin(x);
plot(x,y)
查看内容信息
h=plot(x,y)
点开详细信息,或者用以下方法
八、get()和set()函数
可以对图形对象的属性进行访问和修改且可以查看所有图形对象的属性
1、get()可以查看更为详细的内容
get(h) //get(gca)会出来更多的信息
2、set()可以改变handle的内容
(1)改变坐标轴属性
经过指令
set(gca, 'XLim', [0,2*pi]);
set(gca, 'YLim', [-1.2,1.2])
图形如图
变为
(2)FontSize 设置字体的尺寸
set(gca, 'FontSize', 25)
(3)XTick与XTickLabel
XTick精确设置x轴的刻度
XTickLabel设置或查询 x 轴刻度标签
set(gca, 'XTick', 0:pi/2:2*pi);
set(gca, 'XTickLabel', 0:90:360)
(4)字体名设置
FontName字体名设置
set(gca, 'FontName', 'TeX');
set(gca, 'XTickLabel', {'0', 'p/2', 'p', '3p/2', '2p'})
(5)综合设置
set(h, 'LineStyle','-.', ... //线的表现形式
'LineWidth', 7.0, ... //线的粗度
'Color', 'g') //线的颜色
九、画多图
1、一次出多图
x=-10:0.1:10;
y1=x.^2-8;
y2=exp(x);
figure,plot(x,y1);figure,plot(x,y2);
还可以设置其他参数
2、一个界面多图
subplot(m,n,k);
m为行,n为列,k为矩阵里的位置标
例如m=2,n=3,选k=1的位置就如下图的黄块所示位置
举个栗子
栗子1:
subplot(2,2,1); //2行2列图的(1,1)位置
x = linspace(-3.8,3.8);
y_cos = cos(x);
plot(x,y_cos);
title('Subplot 1: Cosine')
subplot(2,2,2); //2行2列图的(1,2)位置
y_poly = 1 - x.^2./2 + x.^4./24;
plot(x,y_poly,'g');
title('Subplot 2: Polynomial')
subplot(2,2,[3,4]); //2行2列图的(2,1)(2,2)位置
plot(x,y_cos,'b',x,y_poly,'g');
title('Subplot 3 and 4: Both')
还可以通过一些小步骤设置
axis off //axis on恢复
box off //box on恢复
红框地方的黑线没有了
grid on //增加格线,grid off是取消
栗子2:
axis normal 还原默认行为,将图框纵横比模式和数据纵横比模式的属性设置为自动
axis square 使用相同长度的坐标轴线,相应调整数据单位之间的增量
axis equal 沿每个坐标轴使用相同的数据单位长度
axis equal tight 将坐标轴范围设置为等同于数据范围,使轴框紧密围绕数据
t = 0:0.1:2*pi;
x = 3*cos(t);
y = sin(t);
subplot(2, 2, 1); plot(x, y); axis normal //还原默认行为,将图框纵横比模式和数据纵横比模式的属性设置为自动
subplot(2, 2, 2); plot(x, y); axis square //使用相同长度的坐标轴线,相应调整数据单位之间的增量
subplot(2, 2, 3); plot(x, y); axis equal //沿每个坐标轴使用相同的数据单位长度
subplot(2, 2, 4); plot(x, y); axis equal tight //将坐标轴范围设置为等同于数据范围,使轴框紧密围绕数据
其实图3是正确的图形表现,但通过如上设置可以改变观感
十、画图后存档
// saveas( 图形句柄 , '文件名')
saveas(gcf, 'myfigure.png')