文章目录
- 绘图步骤:1.数据准备阶段 2.绘图阶段
- 1.数据准备阶段
- 1.1 从文本文件里面提取数据
- 1.2 手动输入数据
- 2.绘图阶段
- 2.1画图命令 plot(x,y,关键词,参数)
- 2.2 绘图阶段
绘图步骤: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的函数形式便于修改保存图的文件名