Matlab绘图技巧

绘图步骤:1.数据准备阶段 2.绘图阶段

1.数据准备阶段

1.1 从文本文件里面提取数据

数据提取阶段:从文本文件里面读取数据

文本文件举例:
在这里插入图片描述

方式1:

fid_Read=fopen(文件名);
if fid_Read==-1
​     文件不存在;
​     continue;
end
while ~feof(fid_Read) %文件存在
​ A=textscan(fid_Read,'%d,%d,%f,%d,%f','HeaderLines',1); % 这个A是矩阵(数组)   'HeaderLines',1表示不读取文本文件里面的第一行 A(1,:)表示输出A矩阵的第一行 A(:,1)表示输出A矩阵的第一列
end
 fclose(fid_Read);

方式2:

if exist(File_name,'file') == 2 %该txt文件存在时
     dd=importdata(File_name);   %这里的dd是细胞矩阵(数组)   单独取第一列的方式是dd(:,1) 单独取第一行的方式是dd(1,:)
     UT = dd(:,2);%取文本文件里面的第二列给UT数组   现在UT里面的数据就是文本文件的第二列数据
else  %该txt文件不存在时
    disp(strcat(date,'(年积日',doy_s,')无文件',File_name));
end

1.2 手动输入数据

x=[0:1:20]; 
y=[0:2:40];

2.绘图阶段

2.1画图命令 plot(x,y,关键词,参数)

tips:Matlab绘图中用到的直线属性包括:
线形LineStyle 线宽LineWidth 颜色 Color 
标记形状MarkerType 标记大小 MarkerSize 标记填充颜色MarkerFaceColor 标记边缘颜色MarkerEdgeColor
字体种类FontName 字体大小FontSize 字体粗细FontWeight

plot 线型、标记与颜色及快速设置
线型:实线'-',双划线'--',虚线':',点划线'-.'
标记:+.ox* 正方形s 菱形d 六边形h 五角形p 上三角形^ 下三角形v 右三角形> 左三角形<
颜色:红绿蓝rgb 黄黑白ykw 青绿色c 洋红m

在这里插入图片描述

图片出处声明:此图片转自知乎

2.2 绘图阶段

figure;  %使用close all 关闭所有图窗  get current figure 获取当前图窗句柄gcf
set(gcf,'unit','centimeters','position',[10 5 13.4 8.2]);%设置画布大小,以免插入word糊掉 10 5表示相对屏幕左下角10cm 5cm的地方生成
%此语句不加的话,使用默认大小的图窗
%一张figure 屏幕相对于画布在宽度上有0.3cm的误差,在高度上有0.2cm的误差
%设置宽6.7,高4.1cm的图片大小,实际的单栏图片大小为6.7+0.3=7cm宽   4.1+0.2=4.3cm 4.3/7=0.618黄金分割比
%                                  双栏图片大小为13.4+0.6=14     8.2+0.4=8.6

%基础绘图.
plot(x,y,'color','r','marker','o','markersize',2,'linewidth',1,'linestyle','--','markerfacecolor','k');
hold on;    %一个figure上绘制多个图

%设置基础绘图属性
xlabel('时间(min)'); %X轴标签
ylabel('距离(m)');   %y轴标签
title('时间距离图','fontsize',40,'fontweight','bold');
%用法:title('标题Title','fontname','Times New Roman','Color','b','FontSize',16);  属性不分大小写 fontsize=FontSize
legend('data1');
legend('boxoff');%去掉图例的边框
text(10,20,'中间点','fontsize',10,'fontweight','bold'); %文本注释,在图片某处进行文本注释,如果不需要的话,此语句可删除

%设置图片坐标的各种细节
% set(gca,'position',[2 2 7 4.3]);此语句是设置XY轴在图片中所占的比例,可能需要自己微调
set(gca,'xlim',[0 18],'xtick',[0:2:18],'xticklabel',{'0','2','4','6','8','10','12','14','16','18'});  
%设置X轴的范围,刻度,刻度标签
set(gca,'ylim',[0 40],'ytick',[0:5:40],'yticklabel',{'0','5','10','15','20','25','30','35','40'});
set(gca,'fontsize',10,'fontweight','bold');%此语句同时控制xticklabel,yticklabel,xlabel,ylabel,title,legend字体的大小,样式,粗细。   !!!!!!!!!重要
set(gca,'LooseInset',[0,0,0,0]);%去掉图片上方和右边的(边框)多余的白边

%自动存图的代码,不需要手动保存 
mz=strcat(PathToWrite_s,'\',PictureFileName,'.tif');%PathToWrite_s保存图片的路径  PictureFileName图片名称
%例如PathToWrite_s=‘D:\Obvfile+RTEC1\生成Obvnum文件’  PictureFileName=‘图片1’
set(gcf,'PaperPositionMode','auto','outerposition',get(0,'screensize'),'visible','off');  %'visible','off'使图像在屏幕上不显示,直接保存
print('-dtiff','-r150',mz);% r是dpi,用print的函数形式便于修改保存图的文件名
  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值