Python脚本04 —— 模板中字体统一改成font1、font2、font3、font4、font5、font6

#模板中字体统一改成font1、font2、font3、font4、font5、font6
# coding=utf8
import os,sys
def replace(f):
    if not os.path.exists(f): # 看一下这个文件是否存在
        exit(-1)                             #,不存在就退出

    lines = open(f).readlines()  #打开文件,读入每一行

    newFile = os.path.join(newDir,f)
    fp = open(newFile,'w')  #打开你要写得文件pp2.txt
    for s in lines:
       fp.write( s.replace('DFPHaiBaoW12','font1').replace('FZYBKSJW--GB1-0','font2').replace('HYh3gj','font3').replace('jdabiaosong','font4').replace('GBHerSin-Medium','font5').replace('NotoSansHans-Light','font6'))   # replace是替换,write是写入
    fp.close()  # 关闭文件



def createNewDir():
    isExist = os.path.exists(newDir)
    if not isExist:
        print "dir not exist. create dir: " + newDir
        os.mkdir(newDir)
    else:
        print "dir exist: " + newDir

dir = sys.path[0]
print dir
newDir = sys.path[0] + "/new/"
createNewDir()
for f in os.listdir(dir):
    if (os.path.isfile(f)) and os.path.splitext(f)[1] == '.json':
        replace(f)
    

附录 'Sensitivity',0.85,'Method','twostage'); %delete(h) Part 1. 视频读取 %%Import video tic; path='D:\西南交通大学\结构1班\学习\智能建造\智能建造作 业20230624\video.avi'; outpath='D:\西南交通大学\结构1班\学习\智能建造\智能建造 作业20230624/image'; readerObj = VideoReader(path); videoFrames = read(readerObj); %读取所有帧 numberFrames = get(readerObj, 'NumberOfFrames'); % 帧数 startFrame =1; endFrame =numberFrames; %%Output for i = startFrame : endFrame frame = read(readerObj,i); imshow(frame); outputFile =[outpath,'/image_',num2str(i),'.png']; imwrite(frame,outputFile); disp(['image_',num2str(i),' is finished.']); end toc; %205 秒 Part 2. 圆心检测和数据计算 path = "D:\西南交通大学\结构1班\学习\智能建造\智能建造 作业20230624\image\image_1.png" rgb = imread(path); imshow(rgb) d =drawline; pos = d.Position; diffPos = diff(pos); diameter = hypot(diffPos(1),diffPos(2)) gray_image = rgb2gray(rgb); imshow(gray_image) h =viscircles(centers,radii); average_radii=mean(radii); resolution=20./average_radii; Part 3. 计算位移并绘制时程曲线 %% 1读入视频文件 video_path = "D:\西南交通大学\结构1班\学习\智能建造\智能 建造作业20230624\video.avi" video = VideoReader(video_path); % 获取视频帧数和帧率 frame_num = video.NumberOfFrames; frame_rate = video.FrameRate; % 分别获取每一帧的灰度图像并计算其亮度中心 centroids1 = zeros(frame_num, 2); centroids2 = zeros(frame_num, 2);%定义圆心 centroids3 = zeros(frame_num, 2); centroids4 = zeros(frame_num, 2); centroids5 = zeros(frame_num, 2); centroids6 = zeros(frame_num, 2); Radii1 = zeros(frame_num, 1);%定义半径 Radii2 = zeros(frame_num, 1); Radii3 = zeros(frame_num, 1); Radii4 = zeros(frame_num, 1); Radii5 = zeros(frame_num, 1); Radii6 = zeros(frame_num, 1); for i = 1:frame_num frame = read(video, i);%读取视频每一帧 gray_frame = rgb2gray(frame);%rbg3 通道图转灰度图 gray1 通道 % 使用Hough变换检测圆形目标 [centers,radii, ~] 20],'ObjectPolarity','dark', ... %背景相当亮,大多数塑料片比背景暗。但是,默认情况下, imfindcircles 会找到比背景亮的圆形目标。 %因此,在 imfindcircles 中将参数 'ObjectPolarity' 设置为 'dark' 以搜索较暗的圆。 %imfindcircles 有参数 'Sensitivity',可用于控制此内部阈值, 从而控制算法的敏感度。 %较高的 'Sensitivity' 值会将检测阈值设置得较低,并导致检 测到更多圆。 %[centers,radii] 30],'ObjectPolarity','dark') = imfindcircles(rgb,[10 %'Sensitivity' 是介于 0 和 1 之间的数字,默认设置为 0.85。 将 'Sensitivity' 提高到 0.9。 % [centers,radii] 20],'ObjectPolarity','dark', ... % 'Sensitivity',0.85) %imshow(rgb) %h=viscircles(centers,radii); [centers,radii] = 20],'ObjectPolarity','dark', ... = imfindcircles(rgb,[10 imfindcircles(rgb,[10 = imfindcircles(gray_frame,[10 'Sensitivity',0.85,'Method','twostage'); centers = sortrows(centers); centers_radii=[centers,radii]; centers_radii = sortrows(centers_radii); % 如果检测到了圆形目标,则将其视为亮度中心 if ~isempty(centers) centroids1(i,:) = centers(1,:); centroids2(i,:) = centers(2,:); centroids3(i,:) = centers(3,:); centroids4(i,:) = centers(4,:); centroids5(i,:) = centers(5,:); centroids6(i,:) = centers(6,:); Radii1(i,:) = centers_radii(1,3); Radii2(i,:) = centers_radii(2,3); Radii3(i,:) = centers_radii(3,3); Radii4(i,:) = centers_radii(4,3); Radii5(i,:) =centers_radii(5,3); Radii6(i,:) = centers_radii(6,3); end end %求分辨率 average_Radii=zeros(6,1) average_Radii(1,1) = mean(Radii1); average_Radii(2,1) = mean(Radii2); average_Radii(3,1) = mean(Radii3); average_Radii(4,1) = mean(Radii4); average_Radii(5,1) = mean(Radii5); average_Radii(6,1) = mean(Radii6); all_aver_radii = mean(average_Radii); resolution=20./all_aver_radii;%得到分辨率 %像素矩阵转换为位移矩阵 centroids1=resolution.*centroids1; centroids2=resolution.*centroids2; centroids3=resolution.*centroids3; centroids4=resolution.*centroids4; centroids5=resolution.*centroids5; centroids6=resolution.*centroids6; % 时间向量 time = (0:(frame_num-1))/frame_rate; %% 2.1计算位移时程曲线ROI-1 displacements1 = zeros(frame_num, 1);%定义所占空间 x_displacements1 = zeros(frame_num, 1); y_displacements1 = zeros(frame_num, 1); for i = 2:frame_num x_displacements1(i) = centroids1(i,1)-centroids1(1,1); y_displacements1(i) = centroids1(i,2)-centroids1(1,2); displacements1(i) = sqrt((centroids1(i,1)-centroids1(1,1))^2 +(centroids1(i,2)-centroids1(1,2))^2); end % 将位移时程曲线转换为时间-位移格式并绘制曲线 %第二步:开始绘制图 %创建一个指定名称(Name)背景色(color)属性的图窗 figure('Name','x_displacements1','color','w'); %绘制3条曲线并设置曲线宽度,曲线线型,曲线数据标记 符号 subplot(2,2,1) plot(time, x_displacements1,'o-m','LineWidth',2) %设置图的横坐标名称以及相应字体用TimesNewRoman字 体 xlabel('t(s)','FontName','Times New Roman') ylabel('x_Displacement1(mm)','FontName','Times New Roman') grid on; %设置横坐标间隔长度,设置图表内部网格线为虚线,线粗 为1. %set(gca,'xtick',length_1bar_min:(length_x/element):length_1ba r_max) ; set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1); %%fp. LineWidth = 2; ax =gca; %current axes 通过上述语法,"gca"获取到目前的坐标系的 所有属性,再返还给"ax"。 ax. FontSize = 14;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 %ax.TickLength = [0.02 0.02]; % 设置刻度线的长度 %ax.XLim = [0 6];% 设置横坐标轴的区间 %ax.YLim = [-0.001645-0.000432];% 设置纵坐标轴的区间 %设置图表的名称以及字体大小和格式 %ax.TickLabelInterpreter = 'Times New Roman'; legend({['x_displacements1']},'FontSize',15); title(['x_displacements1 ']); %%------------------------------------------------------------------------------------------------ subplot(2,2,2) plot(time, y_displacements1,'o-m','LineWidth',2) %设置图的横坐标名称以及相应字体用TimesNewRoman字 体 xlabel('t(s)','FontName','Times New Roman') ylabel('y_Displacement1(mm)','FontName','Times New Roman') grid on; %设置横坐标间隔长度,设置图表内部网格线为虚线,线粗 为1. %set(gca,'xtick',length_1bar_min:(length_x/element):length_1ba r_max) ; set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1); %%fp. LineWidth = 2; ax = gca; %current axes 通过上述语法,"gca"获取到目前的坐标系的 所有属性,再返还给"ax"。 ax. FontSize = 14;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 %ax.TickLength = [0.02 0.02]; % 设置刻度线的长度 %ax.XLim = [0 6];% 设置横坐标轴的区间 %ax.YLim = [-0.001645-0.000432];% 设置纵坐标轴的区间 %设置图表的名称以及字体大小和格式 %ax.TickLabelInterpreter = 'Times New Roman'; legend({['y_displacements1']},'FontSize',15); title(['y_displacements1 ']); %%------------------------------------------------------------------------------------------------ subplot(2,2,[3,4]) plot(time, displacements1,'o-m','LineWidth',2) %设置图的横坐标名称以及相应字体用TimesNewRoman字 体 xlabel('t(s)','FontName','Times New Roman') ylabel('Displacement1(mm)','FontName','Times New Roman') grid on; %设置横坐标间隔长度,设置图表内部网格线为虚线,线粗 为1. %set(gca,'xtick',length_1bar_min:(length_x/element):length_1ba r_max) ; set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1); %ax.XLim = [0 6];% 设置横坐标轴的区间 %%fp. LineWidth = 2; ax =gca; %current axes 通过上述语法,"gca"获取到目前的坐标系的 所有属性,再返还给"ax"。 ax. FontSize = 14;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax. TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 %ax.TickLength = [0.02 0.02]; % 设置刻度线的长度 %ax.XLim = [0 6];% 设置横坐标轴的区间 %ax.YLim = [-0.001645-0.000432];% 设置纵坐标轴的区间 %设置图表的名称以及字体大小和格式 %ax.TickLabelInterpreter = 'Times New Roman'; legend({['displacements1']},'FontSize',15); title(['displacements1 ']); %% 2.2计算位移时程曲线ROI-2 displacements2 = zeros(frame_num, 1); x_displacements2 = zeros(frame_num, 1); y_displacements2 = zeros(frame_num, 1); for i = 2:frame_num x_displacements2(i) = centroids2(i,1)-centroids2(1,1); y_displacements2(i) = centroids2(i,2)-centroids2(1,2); displacements2(i) = sqrt((centroids2(i,1)-centroids2(1,1))^2 +(centroids2(i,2)-centroids2(1,2))^2); end % 将位移时程曲线转换为时间-位移格式并绘制曲线 %第二步:开始绘制图 %创建一个指定名称(Name)背景色(color)属性的图窗 figure('Name','x_displacements2','color','w'); %绘制3条曲线并设置曲线宽度,曲线线型,曲线数据标记 符号 subplot(2,2,1) plot(time, x_displacements2,'o-m','LineWidth',2) %设置图的横坐标名称以及相应字体用TimesNewRoman字 体 xlabel('t(s)','FontName','Times New Roman') ylabel('x_Displacement2(mm)','FontName','Times New Roman') grid on; %设置横坐标间隔长度,设置图表内部网格线为虚线,线粗 为1. %set(gca,'xtick',length_1bar_min:(length_x/element):length_1ba r_max) ; set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1); %%fp. LineWidth = 2; ax =gca; %current axes 通过上述语法,"gca"获取到目前的坐标系的 所有属性,再返还给"ax"。 ax. FontSize = 14;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 %ax.YLim = [-0.001645-0.000432];% 设置纵坐标轴的区间 %设置图表的名称以及字体大小和格式 %ax.TickLabelInterpreter = 'Times New Roman'; legend({['x_displacements2']},'FontSize',15); title(['x_displacements2 ']); %%------------------------------------------------------------------------------------------------ subplot(2,2,2) plot(time, y_displacements2,'o-m','LineWidth',2) %设置图的横坐标名称以及相应字体用TimesNewRoman字 体 xlabel('t(s)','FontName','Times New Roman') ylabel('y_Displacement2(mm)','FontName','Times New Roman') grid on; %设置横坐标间隔长度,设置图表内部网格线为虚线,线粗 为1. %set(gca,'xtick',length_1bar_min:(length_x/element):length_1ba r_max) ; set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1); %%fp. LineWidth = 2; ax = gca; %current axes 通过上述语法,"gca"获取到目前的坐标系的 所有属性,再返还给"ax"。 ax. FontSize = 14;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 %ax.TickLength = [0.02 0.02]; % 设置刻度线的长度 %ax.XLim = [0 6];% 设置横坐标轴的区间 %ax.YLim = [-0.001645-0.000432];% 设置纵坐标轴的区间 %设置图表的名称以及字体大小和格式 %ax.TickLabelInterpreter = 'Times New Roman'; legend({['y_displacements2']},'FontSize',15); title(['y_displacements2']); %%------------------------------------------------------------------------------------------------ subplot(2,2,[3,4]) plot(time, displacements2,'o-m','LineWidth',2) %设置图的横坐标名称以及相应字体用TimesNewRoman字 体 xlabel('t(s)','FontName','Times New Roman') ylabel('Displacement1(mm)','FontName','Times New Roman') grid on; %设置横坐标间隔长度,设置图表内部网格线为虚线,线粗 为1. %set(gca,'xtick',length_1bar_min:(length_x/element):length_1ba r_max) ; set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1); %%fp. LineWidth = 2; ax = gca; %current axes 通过上述语法,"gca"获取到目前的坐标系的 所有属性,再返还给"ax"。 %ax.TickLength = [0.02 0.02]; % 设置刻度线的长度 ax. FontSize = 14;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 title(['x_displacements3 ']); ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 %ax.TickLength = [0.02 0.02]; % 设置刻度线的长度 %ax.XLim = [0 6];% 设置横坐标轴的区间 %ax.YLim = [-0.001645-0.000432];% 设置纵坐标轴的区间 %设置图表的名称以及字体大小和格式 %ax.TickLabelInterpreter = 'Times New Roman'; legend({['displacements2']},'FontSize',15); title(['displacements2 ']); %% 2.3计算位移时程曲线ROI-3 displacements3 = zeros(frame_num, 1); x_displacements3 = zeros(frame_num, 1); y_displacements3 = zeros(frame_num, 1); for i = 2:frame_num x_displacements3(i) = centroids3(i,1)-centroids3(1,1); y_displacements3(i) = centroids3(i,2)-centroids3(1,2); displacements3(i) = sqrt((centroids3(i,1)-centroids3(1,1))^2 +(centroids3(i,2)-centroids3(1,2))^2); end % 将位移时程曲线转换为时间-位移格式并绘制曲线 %第二步:开始绘制图 %创建一个指定名称(Name)背景色(color)属性的图窗 figure('Name','x_displacements3','color','w'); %绘制3条曲线并设置曲线宽度,曲线线型,曲线数据标记 符号 subplot(2,2,1) plot(time, x_displacements3,'o-m','LineWidth',2) %设置图的横坐标名称以及相应字体用TimesNewRoman字 体 xlabel('t(s)','FontName','Times New Roman') ylabel('x_Displacement3(mm)','FontName','Times New Roman') grid on; %设置横坐标间隔长度,设置图表内部网格线为虚线,线粗 为1. %set(gca,'xtick',length_1bar_min:(length_x/element):length_1ba r_max) ; set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1); %%fp. LineWidth = 2; ax =gca; %current axes 通过上述语法,"gca"获取到目前的坐标系的 所有属性,再返还给"ax"。 ax. FontSize = 14;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 %ax.TickLength = [0.02 0.02]; % 设置刻度线的长度 %ax.XLim = [0 6];% 设置横坐标轴的区间 %ax.YLim = [-0.001645-0.000432];% 设置纵坐标轴的区间 %设置图表的名称以及字体大小和格式 %ax.TickLabelInterpreter = 'Times New Roman'; legend({['x_displacements3']},'FontSize',15); %%------------------------------------------------------------------------------------------------ subplot(2,2,2) plot(time, y_displacements3,'o-m','LineWidth',2) %设置图的横坐标名称以及相应字体用TimesNewRoman字 体 xlabel('t(s)','FontName','Times New Roman') ylabel('y_Displacement3(mm)','FontName','Times New Roman') grid on; %设置横坐标间隔长度,设置图表内部网格线为虚线,线粗 为1. %set(gca,'xtick',length_1bar_min:(length_x/element):length_1ba r_max) ; set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1); %%fp. LineWidth = 2; ax = gca; %current axes 通过上述语法,"gca"获取到目前的坐标系的 所有属性,再返还给"ax"。 ax. FontSize = 14;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 %ax.TickLength = [0.02 0.02]; % 设置刻度线的长度 %ax.XLim = [0 6];% 设置横坐标轴的区间 %ax.YLim = [-0.001645-0.000432];% 设置纵坐标轴的区间 %设置图表的名称以及字体大小和格式 %ax.TickLabelInterpreter = 'Times New Roman'; legend({['y_displacements3']},'FontSize',15); title(['y_displacements3']); %%------------------------------------------------------------------------------------------------ subplot(2,2,[3,4]) plot(time, displacements3,'o-m','LineWidth',2) %设置图的横坐标名称以及相应字体用TimesNewRoman字 体 xlabel('t(s)','FontName','Times New Roman') ylabel('Displacement3(mm)','FontName','Times New Roman') grid on; %设置横坐标间隔长度,设置图表内部网格线为虚线,线粗 为1. %set(gca,'xtick',length_1bar_min:(length_x/element):length_1ba r_max) ; set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1); %%fp. LineWidth = 2; ax = gca; %current axes 通过上述语法,"gca"获取到目前的坐标系的 所有属性,再返还给"ax"。 ax. FontSize = 14;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 plot(time, y_displacements4,'o-m','LineWidth',2) %ax.TickLength = [0.02 0.02]; % 设置刻度线的长度 %ax.XLim = [0 6];% 设置横坐标轴的区间 %ax.YLim = [-0.001645-0.000432];% 设置纵坐标轴的区间 %设置图表的名称以及字体大小和格式 %ax.TickLabelInterpreter = 'Times New Roman'; legend({['displacements3']},'FontSize',15); title(['displacements3 ']); %% 2.4计算位移时程曲线ROI-4 displacements4 = zeros(frame_num, 1); x_displacements4 = zeros(frame_num, 1); y_displacements4 = zeros(frame_num, 1); for i = 2:frame_num x_displacements4(i) = centroids4(i,1)-centroids4(1,1); y_displacements4(i) = centroids4(i,2)-centroids4(1,2); displacements4(i) = sqrt((centroids4(i,1)-centroids4(1,1))^2 +(centroids4(i,2)-centroids4(1,2))^2); end % 将位移时程曲线转换为时间-位移格式并绘制曲线 %第二步:开始绘制图 %创建一个指定名称(Name)背景色(color)属性的图窗 figure('Name','x_displacements4','color','w'); %绘制3条曲线并设置曲线宽度,曲线线型,曲线数据标记 符号 subplot(2,2,1) plot(time, x_displacements4,'o-m','LineWidth',2) %设置图的横坐标名称以及相应字体用TimesNewRoman字 体 xlabel('t(s)','FontName','Times New Roman') ylabel('x_Displacement4(mm)','FontName','Times New Roman') grid on; %设置横坐标间隔长度,设置图表内部网格线为虚线,线粗 为1. %set(gca,'xtick',length_1bar_min:(length_x/element):length_1ba r_max) ; set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1); %%fp. LineWidth = 2; ax =gca; %current axes 通过上述语法,"gca"获取到目前的坐标系的 所有属性,再返还给"ax"。 ax. FontSize = 14;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 %ax.TickLength = [0.02 0.02]; % 设置刻度线的长度 %ax.XLim = [0 6];% 设置横坐标轴的区间 %ax.YLim = [-0.001645-0.000432];% 设置纵坐标轴的区间 %设置图表的名称以及字体大小和格式 %ax.TickLabelInterpreter = 'Times New Roman'; legend({['x_displacements4']},'FontSize',15); title(['x_displacements4 ']); %%------------------------------------------------------------------------------------------------ subplot(2,2,2) %设置图的横坐标名称以及相应字体用TimesNewRoman字 体 xlabel('t(s)','FontName','Times New Roman') ylabel('y_Displacement4(mm)','FontName','Times New Roman') grid on; %设置横坐标间隔长度,设置图表内部网格线为虚线,线粗 为1. %set(gca,'xtick',length_1bar_min:(length_x/element):length_1ba r_max) ; set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1); %%fp. LineWidth = 2; ax = gca; %current axes 通过上述语法,"gca"获取到目前的坐标系的 所有属性,再返还给"ax"。 ax. FontSize = 14;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 %ax.TickLength = [0.02 0.02]; % 设置刻度线的长度 %ax.XLim = [0 6];% 设置横坐标轴的区间 %ax.YLim = [-0.001645-0.000432];% 设置纵坐标轴的区间 %设置图表的名称以及字体大小和格式 %ax.TickLabelInterpreter = 'Times New Roman'; legend({['y_displacements4']},'FontSize',15); title(['y_displacements4']); %%------------------------------------------------------------------------------------------------ subplot(2,2,[3,4]) plot(time, displacements4,'o-m','LineWidth',2) %设置图的横坐标名称以及相应字体用TimesNewRoman字 体 xlabel('t(s)','FontName','Times New Roman') ylabel('Displacement4(mm)','FontName','Times New Roman') grid on; %设置横坐标间隔长度,设置图表内部网格线为虚线,线粗 为1. %set(gca,'xtick',length_1bar_min:(length_x/element):length_1ba r_max) ; set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1); %%fp. LineWidth = 2; ax = gca; %current axes 通过上述语法,"gca"获取到目前的坐标系的 所有属性,再返还给"ax"。 ax. FontSize = 14;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 %ax.TickLength = [0.02 0.02]; % 设置刻度线的长度 %ax.XLim = [0 6];% 设置横坐标轴的区间 %ax.YLim = [-0.001645-0.000432];% 设置纵坐标轴的区间 %设置图表的名称以及字体大小和格式 %ax.TickLabelInterpreter = 'Times New Roman'; legend({['displacements4']},'FontSize',15); title(['displacements4 ']); %% 2.5计算位移时程曲线ROI-5 displacements5 = zeros(frame_num, 1); x_displacements5 = zeros(frame_num, 1); y_displacements5 = zeros(frame_num, 1); for i = 2:frame_num x_displacements5(i) = centroids5(i,1)-centroids5(1,1); y_displacements5(i) = centroids5(i,2)-centroids5(1,2); displacements5(i) = sqrt((centroids5(i,1)-centroids5(1,1))^2 +(centroids5(i,2)-centroids5(1,2))^2); end % 将位移时程曲线转换为时间-位移格式并绘制曲线 %第二步:开始绘制图 %创建一个指定名称(Name)背景色(color)属性的图窗 figure('Name','x_displacements5','color','w'); %绘制3条曲线并设置曲线宽度,曲线线型,曲线数据标记 符号 subplot(2,2,1) plot(time, x_displacements5,'o-m','LineWidth',2) %设置图的横坐标名称以及相应字体用TimesNewRoman字 体 xlabel('t(s)','FontName','Times New Roman') ylabel('x_Displacement5(mm)','FontName','Times New Roman') grid on; %设置横坐标间隔长度,设置图表内部网格线为虚线,线粗 为1. %set(gca,'xtick',length_1bar_min:(length_x/element):length_1ba r_max) ; set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1); %%fp. LineWidth = 2; ax =gca; %current axes 通过上述语法,"gca"获取到目前的坐标系的 所有属性,再返还给"ax"。 ax. FontSize = 14;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 %ax.TickLength = [0.02 0.02]; % 设置刻度线的长度 %ax.XLim = [0 6];% 设置横坐标轴的区间 %ax.YLim = [-0.001645-0.000432];% 设置纵坐标轴的区间 %设置图表的名称以及字体大小和格式 %ax.TickLabelInterpreter = 'Times New Roman'; legend({['x_displacements5']},'FontSize',15); title(['x_displacements5 ']); %%------------------------------------------------------------------------------------------------ subplot(2,2,2) plot(time, y_displacements5,'o-m','LineWidth',2) %设置图的横坐标名称以及相应字体用TimesNewRoman字 体 ylabel('y_Displacement5(mm)','FontName','Times New Roman') grid on; %设置横坐标间隔长度,设置图表内部网格线为虚线,线粗 为1. %set(gca,'xtick',length_1bar_min:(length_x/element):length_1ba r_max) ; set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1); %%fp. LineWidth = 2; ax = gca; %current axes 通过上述语法,"gca"获取到目前的坐标系的 所有属性,再返还给"ax"。 ax. FontSize = 14;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 %ax.TickLength = [0.02 0.02]; % 设置刻度线的长度 %ax.XLim = [0 6];% 设置横坐标轴的区间 %ax.YLim = [-0.001645-0.000432];% 设置纵坐标轴的区间 %设置图表的名称以及字体大小和格式 %ax.TickLabelInterpreter = 'Times New Roman'; legend({['y_displacements5']},'FontSize',15); title(['y_displacements5']); %%------------------------------------------------------------------------------------------------ subplot(2,2,[3,4]) plot(time, displacements5,'o-m','LineWidth',2) %设置图的横坐标名称以及相应字体用TimesNewRoman字 体 xlabel('t(s)','FontName','Times New Roman') ylabel('Displacement5(mm)','FontName','Times New Roman') grid on; %设置横坐标间隔长度,设置图表内部网格线为虚线,线粗 为1. %set(gca,'xtick',length_1bar_min:(length_x/element):length_1ba r_max) ; set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1); %%fp. LineWidth = 2; ax = gca; %current axes 通过上述语法,"gca"获取到目前的坐标系的 所有属性,再返还给"ax"。 ax. FontSize = 14;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 %ax.TickLength = [0.02 0.02]; % 设置刻度线的长度 %ax.XLim = [0 6];% 设置横坐标轴的区间 %ax.YLim = [-0.001645-0.000432];% 设置纵坐标轴的区间 %设置图表的名称以及字体大小和格式 %ax.TickLabelInterpreter = 'Times New Roman'; legend({['displacements5']},'FontSize',15); title(['displacements5 ']); xlabel('t(s)','FontName','Times New Roman') %% 2.6计算位移时程曲线ROI-6 r_max) ; displacements6 = zeros(frame_num, 1); x_displacements6 = zeros(frame_num, 1); y_displacements6 = zeros(frame_num, 1); for i = 2:frame_num x_displacements6(i) = centroids6(i,1)-centroids6(1,1); y_displacements6(i) = centroids6(i,2)-centroids6(1,2); displacements6(i) = sqrt((centroids6(i,1)-centroids6(1,1))^2 +(centroids6(i,2)-centroids6(1,2))^2); end % 将位移时程曲线转换为时间-位移格式并绘制曲线 %第二步:开始绘制图 %创建一个指定名称(Name)背景色(color)属性的图窗 figure('Name','x_displacements6','color','w'); %绘制3条曲线并设置曲线宽度,曲线线型,曲线数据标记 符号 subplot(2,2,1) plot(time, x_displacements6,'o-m','LineWidth',2) %设置图的横坐标名称以及相应字体用TimesNewRoman字 体 xlabel('t(s)','FontName','Times New Roman') ylabel('x_Displacement6(mm)','FontName','Times New Roman') grid on; %设置横坐标间隔长度,设置图表内部网格线为虚线,线粗 为1. %set(gca,'xtick',length_1bar_min:(length_x/element):length_1ba r_max) ; set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1); %%fp. LineWidth = 2; ax =gca; %current axes 通过上述语法,"gca"获取到目前的坐标系的 所有属性,再返还给"ax"。 ax. FontSize = 14;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 %ax.TickLength = [0.02 0.02]; % 设置刻度线的长度 %ax.XLim = [0 6];% 设置横坐标轴的区间 %ax.YLim = [-0.001645-0.000432];% 设置纵坐标轴的区间 %设置图表的名称以及字体大小和格式 %ax.TickLabelInterpreter = 'Times New Roman'; legend({['x_displacements6']},'FontSize',15); title(['x_displacements6 ']); %%------------------------------------------------------------------------------------------------ subplot(2,2,2) plot(time, y_displacements6,'o-m','LineWidth',2) %设置图的横坐标名称以及相应字体用TimesNewRoman字 体 xlabel('t(s)','FontName','Times New Roman') ylabel('y_Displacement6(mm)','FontName','Times New Roman') grid on; %设置横坐标间隔长度,设置图表内部网格线为虚线,线粗 为1. %set(gca,'xtick',length_1bar_min:(length_x/element):length_1ba set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1); %%fp. LineWidth = 2; ax = gca; %current axes 通过上述语法,"gca"获取到目前的坐标系的 所有属性,再返还给"ax"。 ax. FontSize = 14;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 %ax.TickLength = [0.02 0.02]; % 设置刻度线的长度 %ax.XLim = [0 6];% 设置横坐标轴的区间 %ax.YLim = [-0.001645-0.000432];% 设置纵坐标轴的区间 %设置图表的名称以及字体大小和格式 %ax.TickLabelInterpreter = 'Times New Roman'; legend({['y_displacements6']},'FontSize',15); title(['y_displacements6']); %%------------------------------------------------------------------------------------------------ subplot(2,2,[3,4]) plot(time, displacements6,'o-m','LineWidth',2) %设置图的横坐标名称以及相应字体用TimesNewRoman字 体 xlabel('t(s)','FontName','Times New Roman') ylabel('Displacement6(mm)','FontName','Times New Roman') grid on; %设置横坐标间隔长度,设置图表内部网格线为虚线,线粗 为1. %set(gca,'xtick',length_1bar_min:(length_x/element):length_1ba r_max) ; set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1); %%fp. LineWidth = 2; ax = gca; %current axes 通过上述语法,"gca"获取到目前的坐标系的 所有属性,再返还给"ax"。 ax. FontSize = 14;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 %ax.TickLength = [0.02 0.02]; % 设置刻度线的长度 %ax.XLim = [0 6];% 设置横坐标轴的区间 %ax.YLim = [-0.001645-0.000432];% 设置纵坐标轴的区间 %设置图表的名称以及字体大小和格式 %ax.TickLabelInterpreter = 'Times New Roman'; legend({['displacements6']},'FontSize',15); title(['displacements6 ']); %% 3.0计算y方向的位移时程曲线ROI-all figure('Name','all_y_displacements','color','w'); subplot(2,3,1) plot(time, y_displacements1,'o-m','LineWidth',2) xlabel('t(s)','FontName','Times New Roman') 'out'改成 'in',将刻度线改向朝内) ylabel('y_Displacement1(mm)','FontName','Times New Roman') grid on; set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1); ax =gca; ax. FontSize = 14;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 ax.XLim = [0 max(time)];% 设置横坐标轴的区间 legend({['y_displacements1']},'FontSize',15); title(['y_displacements1 ']); subplot(2,3,2) plot(time, y_displacements2,'o-m','LineWidth',2) xlabel('t(s)','FontName','Times New Roman') ylabel('y_Displacement2(mm)','FontName','Times New Roman') grid on; set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1); ax =gca; ax. FontSize = 14;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 ax.XLim = [0 max(time)];% 设置横坐标轴的区间 legend({['y_displacements2']},'FontSize',15); title(['y_displacements2 ']); subplot(2,3,3) plot(time, y_displacements3,'o-m','LineWidth',2) xlabel('t(s)','FontName','Times New Roman') ylabel('y_Displacement3(mm)','FontName','Times New Roman') grid on; set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1); ax =gca; ax. FontSize = 14;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 ax.XLim = [0 max(time)];% 设置横坐标轴的区间 legend({['y_displacements3']},'FontSize',15); title(['y_displacements3 ']); subplot(2,3,4) plot(time, y_displacements4,'o-m','LineWidth',2) xlabel('t(s)','FontName','Times New Roman') ylabel('y_Displacement4(mm)','FontName','Times New Roman') grid on; set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1); ax =gca; ax. FontSize = 14;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 ax.XLim = [0 max(time)];% 设置横坐标轴的区间 legend({['y_displacements4']},'FontSize',15); title(['y_displacements4 ']); subplot(2,3,5) plot(time, y_displacements5,'o-m','LineWidth',2) xlabel('t(s)','FontName','Times New Roman') ylabel('y_Displacement5(mm)','FontName','Times New Roman') grid on; set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1); ax = gca; ax. FontSize = 14;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 ax.XLim = [0 max(time)];% 设置横坐标轴的区间 legend({['y_displacements5']},'FontSize',15); title(['y_displacements5 ']); subplot(2,3,6) plot(time, y_displacements6,'o-m','LineWidth',2) xlabel('t(s)','FontName','Times New Roman') ylabel('y_Displacement6(mm)','FontName','Times New Roman') grid on; set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',1); ax = gca; ax. FontSize = 14;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 ax.XLim = [0 max(time)];% 设置横坐标轴的区间 legend({['y_displacements6']},'FontSize',15); title(['y_displacements6 ']); Part 4. 算法评价 %% 绘图标准模板ROI-1 figure('Name','displacements1','color','w'); %在plot, scatter, surf 等前面加上 figure('units','normalized','outerposition',[0 0 1 1]); plot(time, y_displacements1,'.-m','LineWidth',1.5) %set(gcf, 'unit', 'centimeters', 'position', [10 10 10 10]); %set(gcf, 'Position', [100 100 260 220]); xlabel('t(s)','FontName','Times New Roman') ylabel('y-Displacement1(mm)','FontName','Times New Roman') grid on; set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',0.2); ax = gca; ax. FontSize = 14;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 ax.XLim = [0 max(time)];% 设置横坐标轴的区间 ax.YLim = [-4 4];% 设置纵坐标轴的区间 legend({['y-displacements1']},'FontSize',15); title(['y-displacements1 ']); %生成0.1s局部放大图 axes('Position',[0.50,0.65,0.2,0.2]); % 生成子图 下 宽窄 左右 上 %分别表示放大图的 [ 水平位置,垂直位置,水平大小(长), 竖直大小(宽)] plot(time, y_displacements1,'.-b','LineWidth',0.7); ax =gca; ax. FontSize = 12;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 xlim([0,0.1]); % 设置坐标轴范围 ylim([-4,4]); %生成0.02s 局部放大图 axes('Position',[0.50,0.20,0.2,0.15]); % 生成子图 下 宽窄 左右 上 %分别表示放大图的 [ 水平位置,垂直位置,水平大小(长), 竖直大小(宽)] plot(time, y_displacements1,'.-r','LineWidth',0.7); ax =gca; ax. FontSize = 12;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 xlim([0,0.03]); % 设置坐标轴范围 ylim([-2,2]); saveas(gcf,['./','block_all_ydis',num2str(1),'.emf']); saveas(gcf,['./','block_all_ydis',num2str(1),'.tiff']); %% 绘图标准模板ROI-2 figure('Name','displacements2','color','w'); %在plot, scatter, surf 等前面加上 figure('units','normalized','outerposition',[0 0 1 1]); plot(time, y_displacements2,'.-m','LineWidth',1.5) %set(gcf, 'unit', 'centimeters', 'position', [10 10 10 10]); %set(gcf, 'Position', [100 100 260 220]); xlabel('t(s)','FontName','Times New Roman') ylabel('y-Displacement2(mm)','FontName','Times New Roman') grid on; set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',0.2); ax =gca; ax. FontSize = 14;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 ax.XLim = [0 max(time)];% 设置横坐标轴的区间 ax.YLim = [-4 4];% 设置纵坐标轴的区间 legend({['y-displacements2']},'FontSize',15); title(['y-displacements2 ']); %生成0.1s局部放大图 axes('Position',[0.50,0.65,0.2,0.2]); % 生成子图 下 宽窄 左右 上 %分别表示放大图的 [ 水平位置,垂直位置,水平大小(长), 竖直大小(宽)] plot(time, y_displacements2,'.-b','LineWidth',0.7); ax = gca; ax. FontSize = 12;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 xlim([0,0.1]); % 设置坐标轴范围 ylim([-4,4]); %生成0.02s局部放大图 axes('Position',[0.50,0.20,0.2,0.15]); % 生成子图 下 宽窄 左右 上 %分别表示放大图的 [ 水平位置,垂直位置,水平大小(长), 竖直大小(宽)] plot(time, y_displacements2,'.-r','LineWidth',0.7); ax = gca; ax. FontSize = 12;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 xlim([0,0.03]); % 设置坐标轴范围 ylim([-2,2]); saveas(gcf,['./','block_all_ydis',num2str(2),'.emf']); saveas(gcf,['./','block_all_ydis',num2str(2),'.tiff']); %% 绘图标准模板ROI-3 figure('Name','displacements3','color','w'); %在plot, scatter, surf 等前面加上 figure('units','normalized','outerposition',[0 0 1 1]); plot(time, y_displacements3,'.-m','LineWidth',1.5) %set(gcf, 'unit', 'centimeters', 'position', [10 10 10 10]); %set(gcf, 'Position', [100 100 260 220]); xlabel('t(s)','FontName','Times New Roman') ylabel('y-Displacement3(mm)','FontName','Times New Roman') grid on; set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',0.2); ax = gca; ax. FontSize = 14;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 ax.XLim = [0 max(time)];% 设置横坐标轴的区间 ax.YLim = [-4 4];% 设置纵坐标轴的区间 legend({['y-displacements3']},'FontSize',15); title(['y-displacements3 ']); %生成0.1s局部放大图 axes('Position',[0.50,0.65,0.2,0.2]); % 生成子图 下 宽窄 左右 上 %分别表示放大图的 [ 水平位置,垂直位置,水平大小(长), 竖直大小(宽)] plot(time, y_displacements3,'.-b','LineWidth',0.7); ax =gca; ax. FontSize = 12;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 xlim([0,0.1]); % 设置坐标轴范围 ylim([-4,4]); %生成0.02s 局部放大图 axes('Position',[0.50,0.20,0.2,0.15]); % 生成子图 下 宽窄 左右 上 %分别表示放大图的 [ 水平位置,垂直位置,水平大小(长), 竖直大小(宽)] plot(time, y_displacements3,'.-r','LineWidth',0.7); ax =gca; ax. FontSize = 12;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 xlim([0,0.03]); % 设置坐标轴范围 ylim([-2,2]); saveas(gcf,['./','block_all_ydis',num2str(3),'.emf']); saveas(gcf,['./','block_all_ydis',num2str(3),'.tiff']); %% 绘图标准模板ROI-4 figure('Name','displacements4','color','w'); %在plot, scatter, surf 等前面加上 figure('units','normalized','outerposition',[0 0 1 1]); plot(time, y_displacements4,'.-m','LineWidth',1.5) %set(gcf, 'unit', 'centimeters', 'position', [10 10 10 10]); %set(gcf, 'Position', [100 100 260 220]); xlabel('t(s)','FontName','Times New Roman') ylabel('y-Displacement4(mm)','FontName','Times New Roman') grid on; set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',0.2); ax =gca; ax. FontSize = 14;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 ax.XLim = [0 max(time)];% 设置横坐标轴的区间 ax.YLim = [-4 4];% 设置纵坐标轴的区间 legend({['y-displacements4']},'FontSize',15); title(['y-displacements4']); %生成0.1s局部放大图 axes('Position',[0.50,0.65,0.2,0.2]); % 生成子图 下 宽窄 左右 上 %分别表示放大图的 [ 水平位置,垂直位置,水平大小(长), 竖直大小(宽)] plot(time, y_displacements4,'.-b','LineWidth',0.7); ax = gca; ax. FontSize = 12;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 xlim([0,0.1]); % 设置坐标轴范围 ylim([-4,4]); %生成0.02s局部放大图 axes('Position',[0.50,0.20,0.2,0.15]); % 生成子图 下 宽窄 左右 上 %分别表示放大图的 [ 水平位置,垂直位置,水平大小(长), 竖直大小(宽)] plot(time, y_displacements4,'.-r','LineWidth',0.7); ax = gca; ax. FontSize = 12;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 xlim([0,0.03]); % 设置坐标轴范围 ylim([-2,2]); saveas(gcf,['./','block_all_ydis',num2str(4),'.emf']); saveas(gcf,['./','block_all_ydis',num2str(4),'.tiff']); %% 绘图标准模板ROI-5 figure('Name','displacements5','color','w'); %在plot, scatter, surf 等前面加上 figure('units','normalized','outerposition',[0 0 1 1]); plot(time, y_displacements5,'.-m','LineWidth',1.5) %set(gcf, 'unit', 'centimeters', 'position', [10 10 10 10]); %set(gcf, 'Position', [100 100 260 220]); xlabel('t(s)','FontName','Times New Roman') ylabel('y-Displacement5(mm)','FontName','Times New Roman') grid on; set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',0.2); ax = gca; ax. FontSize = 14;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 ax.XLim = [0 max(time)];% 设置横坐标轴的区间 ax.YLim = [-4 4];% 设置纵坐标轴的区间 legend({['y-displacements5']},'FontSize',15); title(['y-displacements5']); %生成0.1s局部放大图 axes('Position',[0.50,0.65,0.2,0.2]); % 生成子图 下 宽窄 左右 上 %分别表示放大图的 [ 水平位置,垂直位置,水平大小(长), 竖直大小(宽)] plot(time, y_displacements5,'.-b','LineWidth',0.7); ax =gca; ax. FontSize = 12;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 xlim([0,0.1]); % 设置坐标轴范围 ylim([-4,4]); %生成0.02s 局部放大图 axes('Position',[0.50,0.20,0.2,0.15]); % 生成子图 下 宽窄 左右 上 %分别表示放大图的 [ 水平位置,垂直位置,水平大小(长), 竖直大小(宽)] plot(time, y_displacements5,'.-r','LineWidth',0.7); ax =gca; ax. FontSize = 12;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 xlim([0,0.03]); % 设置坐标轴范围 ylim([-2,2]); saveas(gcf,['./','block_all_ydis',num2str(5),'.emf']); saveas(gcf,['./','block_all_ydis',num2str(5),'.tiff']); %% 绘图标准模板ROI-6 figure('Name','displacements6','color','w'); %在plot, scatter, surf 等前面加上 figure('units','normalized','outerposition',[0 0 1 1]); plot(time, y_displacements6,'.-m','LineWidth',1.5) %set(gcf, 'unit', 'centimeters', 'position', [10 10 10 10]); %set(gcf, 'Position', [100 100 260 220]); xlabel('t(s)','FontName','Times New Roman') ylabel('y-Displacement6(mm)','FontName','Times New Roman') grid on; set(gca,'GridLineStyle',':','GridColor','k','GridAlpha',0.2); ax =gca; ax. FontSize = 14;% 调整坐标系的数字标度的字体大小 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 ax.XLim = [0 max(time)];% 设置横坐标轴的区间 ax.YLim = [-4 4];% 设置纵坐标轴的区间 legend({['y-displacements6']},'FontSize',15); title(['y-displacements6']); %生成0.1s局部放大图 axes('Position',[0.50,0.65,0.2,0.2]); % 生成子图 下 宽窄 左右 上 %分别表示放大图的 [ 水平位置,垂直位置,水平大小(长), 竖直大小(宽)] plot(time, y_displacements6,'.-b','LineWidth',0.7); ax = gca; ax. FontSize = 12;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 xlim([0,0.1]); % 设置坐标轴范围 ylim([-4,4]); %生成0.02s局部放大图 axes('Position',[0.50,0.20,0.2,0.15]); % 生成子图 下 宽窄 左右 上 %分别表示放大图的 [ 水平位置,垂直位置,水平大小(长), 竖直大小(宽)] plot(time, y_displacements6,'.-r','LineWidth',0.7); ax = gca; ax. FontSize = 12;% 调整坐标系的数字标度的字体大小 ax. LineWidth = 2;% 调整图表的外框线粗 ax.TickDir = 'in';% 设置刻度线朝向图表的外部(当然可以将 'out'改成 'in',将刻度线改向朝内) ax. FontName ='Times New Roman';%设置图标(图名)字体类 型,TimesNew Roman 只对英文和数字有效。 xlim([0,0.03]); % 设置坐标轴范围 ylim([-2,2]); saveas(gcf,['./','block_all_ydis',num2str(6),'.emf']); saveas(gcf,['./','block_all_ydis',num2str(6),'.tiff']); 把这段matlab代码用python重构
最新发布
06-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值