Matla学习:figure+axes+plot

function fig = SetDrawParam()

    %1.获得屏幕尺寸
    figpos = get(0, 'ScreenSize');%获得屏幕尺寸,单位像素

    %2.设置坐标系在画布中的位置,针对不同尺寸或不同分辨的屏幕需要动态调整才能达到预期的效果
    axex = 30;%坐标系原点在画布中的横坐标,单位像素
    axey = 30;%坐标系原点在画布中的纵坐标,单位像素
    axew = 800;%坐标系的宽度,单位像素
    axeh = 600;%坐标系的高度,单位像素

    %3.设置纸张在画布中的位置,需要坐标系位置确定的情况才能确定纸张的位置,也需要动态调整才能达到预期的效果
    paperx = 0;%纸张原点在画布中的横坐标,单位厘米
    papery = 0;%纸张原点在画布中的纵坐标,单位厘米
    paperw = 17;%纸张的宽度,单位厘米
    paperh = 12;%纸张的高度,单位厘米

    %4.设置运行过程中是否显示图像
    visible = 'off';
    
    %5.建立画布和坐标系
    fig = figure('Position', figpos, 'PaperPosition', [paperx, papery, paperw, paperh], 'Visible', visible);
    axe = axes('Units', 'Pixel', 'Position', [axex, axey, axew, axeh]);
end
function SetDrawPlot(x, y, style, width, color, marker)
plot(x, y, 'LineStyle', style, 'LineWidth', width, 'Color', color, 'Marker', marker, 'MarkerEdgeColor', color);
end

 

function Main_SetDrawPlot_Example()
clear;clc;
folder = '.';
files = dir(strcat(folder, '/*.txt'));
len = length(files);
    
for i = 1:len
    %1.获得文件名
    indexs = strfind(files(i).name, '.');
    lastIndex = indexs(end);
    name = files(i).name(1:lastIndex-1);
        
    %2.确定输入输出
    inpath = strcat(folder, '/', files(i).name);
    outpath = strcat(folder, '/', name, '.png');
        
    %3.提取数据并确定范围
    txt = importdata(inpath);
    x = 1:1:length(txt.data);
        
    %4.绘图并保存
    fig = SetDrawParam();
    y = txt.data(:,1);
    SetDrawPlot(x, y, '-', 0.5, [0, 0, 1], 'none');
    hold on;
    y = txt.data(:,2);
    SetDrawPlot(x, y, '-', 0.5, [0, 1, 0], 'none');
    hold on;
    y = txt.data(:,3);
    SetDrawPlot(x, y, '-', 0.5, [1, 0, 0], 'none');
    saveas(fig, outpath);
    close all;          
end

end

  

你可能感兴趣的:(Matla学习:figure+axes+plot)