【matlab进阶学习-7】matlab 图表标注操作

发布时间:2023年12月17日

本文参考:MATLAB04:基础绘图-CSDN博客

1,图线的绘制与装饰

plot(x,y,LineSpec)

各参数意义如下:

  • x : 图线上点的x坐标
  • y : 图线上点的y坐标
  • LineSpec : 图线的线条设定,三个指定 线型 , 标记符号颜色设定符 组成一个字符串,设定符不区分先后.具体细节请参考 官方文档 .

线型设定符

线型

标记设定符

标记

颜色设定符

颜色

-

实线(默认)

o

圆圈

y

黄色

--

虚线

+

加号

m

品红色

:

点线

*

星号

c

青蓝色

-.

点划线

.

r

红色

x

叉号

g

绿色

s

方形

b

蓝色

d

菱形

w

白色

^

上三角

k

黑色

v

下三角

>

右三角

<

左三角

p

五角形

h

六角形

下面例子演示了绘制( 0 , 2 π ) (0, 2\pi)(0,2π)内余弦函数的图像:

x = 0:pi/20:2*pi;
y = cos(x);
plot(x, y, 'r.-')

2,增加图例

使用 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');    % 添加图例

3,使用 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}');

4,使用 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]); 

5,hold on off

我们可以使用hold onhold off命令控制绘图区域的刷新,使得多个绘图结果同时保留在绘图区域中.

hold on        % 提起画笔,开始绘制一组图片            
plot(cos(0:pi/20:2*pi));
plot(sin(0:pi/20:2*pi));
hold off    % 放下画笔,该组图片绘制完毕

6,在一个窗口内绘制多个图像

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')

7,图形对象的操作

8,通过图形句柄操作图形属性

使用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()
 

双击图上对应位置可以查看有哪些属性

线位置

坐标位置

9,保存图片

使用saveas(fig,filename)命令可以将图形对象保存到文件中,其中fig为图形句柄,filname为文件名.

saveas(gcf, 'myfigure.png')

使用saveas()函数将图像保存成位图时,会发生失真.要精确控制生成图片的质量,可以使用print()函数,见官方文档

print('BarPlot','-dpng')

print 将绘图另存为 BarPlot.png

文章来源:https://blog.csdn.net/cengqiu4314/article/details/134920361
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。