matlab绘图中坐标轴标注设置及图片大小等的设置及输出

1、常用子文件夹的表示方式

addpath(genpath(pwd));                   %当前文件夹下的所有文件夹的函数都可调用
addpath(genpath('e:/matlab/myfiles'));   %myfiles文件夹下的所有文件夹的函数都可调用

2、画图函数搭配

  figure;
  subplot(1, 2,1);    %matlab自带函数  121分别为1行2列第一图
  
  axes(ha(2));          %tight_subplot函数对应的子图 先行后列

3、颜色及线形:
在这里插入图片描述
可以对图形、坐标轴、标题等设置颜色

xlabel('X Axis', 'Color', 'm'); % 使用洋红色设置X轴标签颜色  
title('My Plot', 'Color', 'g'); % 使用绿色设置标题颜色
plot(x, y, 'r'); % 使用红色绘制线条

除此之外,还可对颜色进行自定义:
例如:

    c=plot(epochs, attza(1,:),'+','markersize',3);
    set(aaa,'color',[1, 0.6732, 0]); %分别对应于RGB的值
    set(aaa,'color',[0.5, 0.1, 1]);  %紫色  
    set(aaa,'color',[0,0.447,0.741]);  %默认颜色

常用颜色的配比如下表所示:
在这里插入图片描述
3.1 颜色顺序的调换:

功能:实现某一线在上,某一线在下(使误差大的线不覆盖误差小的线)

        t=0:.1:10;
        h1=plot(t,sin(t),'b','linewidth',3);
        hold on
        h2=plot(t,cos(t),'r','linewidth',3);
        set(gca,'child',[h1 h2])

上述代码则表示 h1在上,h2在下,即蓝线在上,红线在下
谨记: 想让谁在上,则谁写在前面

4、 点形状的设计:
在这里插入图片描述
4.1 实心图形绘制

  plot(epochs, fixed_solution(:,1:1000),'s','MarkerSize',5,'MarkerFaceColor','b');
'MarkerSize'属性后的值是一个数值,表示数据点标记的大小,单位为点(points)。
'MarkerEdgeColor'(边缘颜色)、'MarkerFaceColor'(填充颜色)

4.2、线形、点形的大小控制
线形:'Linewidth'
点形: 'markersize'
例如:plot(epochs, attza(1,:),'.r','markersize',0.5);

5、图形标题设置、及标题的字号、字体
例如: title([‘u=’,num2str(u)],‘Fontsize’,10,‘Fontname’,‘Times New Roman’);

6、设置坐标轴线宽、字体及字号:

  坐标轴框的线宽设置;set(gca,'LineWidth',0.8); 
set(gca,'fontsize',10,'fontname','Times New Roman');
设置坐标轴上下限:axis([xmin,xmax,ymin,ymax]);

也可通过以下方式进行坐标轴显示范围及刻度显示设置
%设置x轴范围和刻度

set(gca,'XLim',[0 10]);%X轴的数据显示范围
set(gca,'XTick',[0:1:10]);%设置要显示坐标刻度 较常用
set(gca,'XTickLabel',[0:1:10]);%给坐标加标签
%设置y轴范围和刻度
set(gca,'YLim',[95 101]);%X轴的数据显示范围
set(gca,'YTick',[95:1:101]);%设置要显示坐标刻度
set(gca,'YTickLabel',[95:1:101]);%给坐标加标签

x轴的名称及字体和字号:xlabel('Epoch [1s]','FontName','Times New Roman','FontSize',10);
y轴将 xlabel 改为 ylabel
坐标轴反向:set(gca,‘zdir’,‘reverse’); %将坐标轴数值反向
坐标轴标注在使用希腊字母的时候用以下代替:
小写字母:\alpha, \beta, \gamma, \delta, \epsilon, \kappa, \lambda, \mu, \nu, \omega, \phi, \pi, \chi, \psi, \rho, \sigma, \tau, \upsilon
大写字母:\Sigma, \Pi, \Lambda, \Omega, \Gamma
字体加粗与倾斜: FontWeight’,’bold’ 加粗 ‘FontAngle’,’italic’ 斜体
例如:

ylabel('Velocity Error in \ite \rmframe [m/s]');   

在这里插入图片描述

标注中上标用 ^ ,下标用 _
例如: ‘\beta_1’ 为 β1

纵坐标数值前加上字母C

ax = gca;
ax.YTickLabel = arrayfun(@(k) sprintf('C%d', k), ax.YTick, 'UniformOutput', false);  %纵坐标数值前加上字母C

7、添加网格线

 grid on;   % 添加网格线
 set(gca, 'XGrid', 'on', 'YGrid', 'off'); % 出来是纵线
 set(gca, 'XGrid', 'off', 'YGrid', 'on'); % 仅保留横网格线,移除纵网格线   出来是横线
 set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',0.5); %设置线型、颜色、透明度

8、较大数值进行完全显示
在 plot 后边加上这两句即可
例如132456 在matlab中常显示为1.32e5,添加如下两式,则可进行完全显示

  ax = gca();
   ax.XRuler.Exponent = 0;

9、去除坐标值/坐标刻度

set(gca,'xticklabel',[])  %去除坐标值
set(gca,'xtick',[],'xticklabel',[]) %去除坐标值和刻度

10、设置ylabel标签的位置,主要用于每个子图标签的对齐

yL1s = ylabel('Roll [deg]');  
set(yL1s, 'Units', 'Normalized');  %单位标准化
set(yL1s,'Pos',[-0.13 0.5 0])
通常只需调节-0.13 实现标签位置的更改

11、人为设置子图间距的函数

tight_subplot函数  ha = tight_subplot(6,2,[.04 .05],[.055 .03],[.08 .05]);   
其中6表示行数,2表示列数 
.04  .05分别表示 行与行的间距,列与列的间距
.055 .03 一组图的最底端和最顶端的间距
.08  .05 一组图的最左侧 最右侧的间距

12、轨迹中起始位置、终点位置标识

plot(pl(1,1),pl(1,2), 'ko','markersize',5);  
hold on
plot(pl(1,1),pl(1,2), 'k.','markersize',10);  
text(pl(1,2)++0.00005,  pl(1,1)-0.0002,  'Start Point','fontsize',10,'fontname','Times New Roman');	
% 指定坐标(x, y)处加注文字 'MarkerSize',0.5
text(pl(1000,2)+0.00005,pl(1000,1)+0.000005,'  End Point');

12.1、箭头标识

annotation('arrow', [0.5, 0.4], [0.83, 0.78]); 
%  annotation('arrow', [x1, x2], [y1, y2]);   
% x坐标 由x1指向x2  y坐标由y1指向y2   即[x1,y1]指向[x2,y2]
% text(pl(500,2),pl(500,1),' 500');  %检验箭头方向是否正确
% text(pl(550,2),pl(550,1),' 550');
% text(pl(600,2),pl(600,1),' 600');

7、图例中字体及大小

legend({'k','a','e'},'fontsize',10,'fontname','Times New Roman');

%注意图例内容需用大括号括起来
图例中各个量及位置:'location','SouthEast'

% 利用legend函数的参数进行大致设置

legend('sinx','orientation','horizontal','Location','southeast'); % 右下角
north 顶部;        south  底部;       east 左侧      west   右侧
外侧 northoutside   southoutside     eastoutside    westoutside
northeast 右上角           northwest 左上角
外侧 northeastoutside      northwestoutside
southeast 右下角           southwest左下角
外侧  southeastoutside     southwestoutside
最佳位置 best      
外侧     bestoutside

% 利用位置属性进行精确设置

leg=legend( 'sinx', 4 );
set( leg, 'Position', [10, 50, 100, 400]); % [10, 50, 100, 400]为显示的位置坐标

% 图例中 设置 线段 的 长短 以适应图形的大小

  leg =legend('k','a','e');
  leg.ItemTokenSize =[10,1];

%去除图例的矩形框

  leg =legend('k','a','e');
  set(leg,'box','off')

13、输出图形的位置及图形大小

set(gcf,'unit','centimeters','position',[10 5 8 6])
%(10,5)为图形左下角坐标,表示左下点离显示器左侧边界10cm,离下侧边界5cm 图形边框大小为8cm,宽6cm

13.1、打印图形, 图形名称,图形分辨率设置
图形名称:例如: str300=[’./att_u=’,num2str(u),’_num=’,num2str(length(attza)),’_300.tif’];
图片分辨率为300,图片格式为tiff,例如:
https://blog.csdn.net/weixin_43960730/article/details/132876393?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522172016381616800227499348%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=172016381616800227499348&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-2-132876393-null-null.142v100control&utm_term=matlab%E4%B8%AD%E6%94%BE%E5%A4%A7%E5%9D%90%E6%A0%87%E5%8C%BA%E8%87%B4%E5%85%85%E6%BB%A1%E5%9B%BE%E6%A1%86&spm=1018.2226.3001.4187

set(gca,'LooseInset', get(gca,'TightInset'))   %放大坐标区致充满图框
set(gca,'looseInset',[0 0 0.02 0.04]);   %控制上下左右空白间隙的大小,例如宽度方向空白区域0.02,高度方向空白区域0.04
str300=['./att_u=',num2str(u),'num=',num2str(length(attza)),'_300.tif'];
h=gcf; print(h,str300,'-r300','-dtiff')
%简化版
print(gcf,'true_att.tif','-r300','-dtiff')
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值