问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Matlab批量画图、去除白边并保存在指定目录的实现方法

创作时间:
作者:
@小白创作中心

Matlab批量画图、去除白边并保存在指定目录的实现方法

引用
CSDN
1.
https://blog.csdn.net/superliang123/article/details/137004150

在数据分析过程中,我们常常需要处理多个数据集并生成相应的图表。为了提高工作效率并确保生成的图片在插入论文时的可用性,本文提供了一个Matlab代码框架,实现批量生成图片、去除图片白边并保存为eps、pdf和png格式的功能。

Matlab批量画图代码实现

以下是一个完整的Matlab代码示例,展示了如何实现批量生成图片、去除白边并保存的功能:

clear all
%生成三个不同的随机数据集
x = linspace(0, 10, 100);
y{1} = sin(x);
y{2} = cos(x);
y{3} = x.^2;
%如果在批量保存过程中,不需要预览,可以直接设置为‘off’
% figure('visible', 'off');
% 循环处理每个数据集
for i = 1:length(y)
    % 读取数据集文件
    y_i = y{i};
    
    % 生成折线图
    figure;
    plot(x, y_i, 'r--', 'LineWidth', 2); 
    
    % 去除白边
    fig = gcf;
    fig.PaperPositionMode = 'auto';
    fig_pos = fig.PaperPosition;
    fig.PaperSize = [fig_pos(3), fig_pos(4)];
    
    % 保存折线图
    print(['./data_pic/data_',num2str(i),'.eps'],'-depsc');
    print(['./data_pic/data_',num2str(i),'.pdf'],'-dpdf');
    print(['./data_pic/data_',num2str(i),'.png'],'-dpng');
    
    close;
end

功能说明

该代码框架实现了以下三个主要功能:

  1. 批量式生成图片:通过循环处理多个数据集,自动为每个数据集生成对应的折线图。

  2. 去除图片四周白边:通过调整PaperPositionModePaperSize属性,去除图片周围的多余空白区域,使生成的图片更紧凑,便于在LaTeX文档中插入。

  3. 批量保存图片:将生成的图片同时保存为eps、pdf和png三种格式,以满足不同场景下的使用需求。图片将被保存在当前目录下的data_pic文件夹中。

这个代码框架可以大大提高数据分析过程中的绘图效率,特别适合需要处理大量数据集并生成对应图表的场景。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号