MATLAB 图形在插入 LaTeX 时不具有相同的大小(尽管使用相同的代码生成)

2024-01-05

我正在 MATLAB 中生成一些图形,并尝试将它们插入到 LaTeX 中。然而,当我这样做时,它们通常没有相同的大小(尽管我使用相同的设置来生成它们)。

例如:

我当前使用的 MATLAB 代码是这个

lsize = 16; % Label fontsize
nsize = 16; % Axis fontsize

q=randn(100,1000);

a1=linspace(1,1000,1000);
b1=linspace(2,2000,1000);


figure (1)

histogram(q)

xlabel('Time [sec]','Fontsize', lsize)
ylabel('W_{kin} [keV]','Fontsize', lsize)

set(gca, 'Fontsize', nsize)
set(gcf,'paperpositionmode','auto');
set(gcf,'windowstyle','normal');
set(gca,'LooseInset',max(get(gca,'TightInset'), 0.02))
set(gca,'fontweight','normal')


opts.Colors     = get(groot,'defaultAxesColorOrder');
opts.saveFolder = 'img/';
opts.width      = 12;
opts.height     = 10;
opts.fontType   = 'Times';

saveas(gcf,'f1.png')

figure(2)

loglog(a1,b1)
xlabel('time [sec]','Fontsize', lsize)
ylabel('Speed [m/sec]','Fontsize', lsize)

set(gca, 'Fontsize', nsize)
set(gcf,'paperpositionmode','auto');
set(gcf,'windowstyle','normal');
set(gca,'LooseInset',max(get(gca,'TightInset'), 0.02))
set(gca,'fontweight','normal')


opts.Colors     = get(groot,'defaultAxesColorOrder');
opts.saveFolder = 'img/';
opts.width      = 12;
opts.height     = 10;
opts.fontType   = 'Times';

saveas(gcf,'f2.png')

我使用的乳胶代码是:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}   % needed for figures

\begin{document}

\begin{figure}[!ht]
     \begin{center}

         \includegraphics[width=0.3\textwidth]{f2.png}\\ 

         \includegraphics[width=0.3\textwidth]{f1.png}


     \caption {A caption}\label{A_label}
     \end{center}
     \end{figure}

\end{document}

难道我做错了什么?


当我尝试在 LaTeX 中绘制大量数据时(它不是为此而设计的),我遇到了类似的问题,所以我想在 MATLAB 中绘制图形并在 LaTeX 中排列它们(和轴)。所以我print将它们编辑为 PDF。

始终满足精确图形尺寸的技巧是使轴充满整个图形set(gca,'position',[0 0 1 1])。您需要在 LaTeX 中绘制轴、刻度线和标签(记住使用选项axis on top in pgfplots there).

function printFig2PDF(fh,FigName,FigWidth,FigHeight)
%% export MATLAB-figure as PDF

Format = 'pdf';

% check if input name has an extension
lst = strsplit(FigName,'.');
if ~strcmpi(lst{end},Format)
    % append format
    FigName = strcat(FigName,'.',lower(Format));
end

%% adjust figure
if ~isempty(fh.ax.Legend)
    fh.ax.Legend.Visible = 'off';
end
fh.ax.Box = 'off';
set(    fh.ax, 'YTickLabel',{},'XTickLabel',{});
set(    fh.ax, 'yColor','none','xColor','none');


set(fh.ax, 'Position',[0 0 1 1])

set(fh.fig, 'PaperUnits','centimeters',...
        'PaperPosition',[0 0 FigWidth FigHeight],...
        'PaperSize',[FigWidth FigHeight]);

% save as PDF
print(fh.fig,FigName,'-dpdf')
% close figure handle
close(fh.fig)
end

请注意,我假设第一个输入(fh) is a struct与田野fig作为图形句柄和ax其中包含一个轴句柄(如果我有多个图形和子图,这就是我存储这些句柄的方式)。如果您想仅用一个轴绘制当前图形,您可以使用以下命令创建它:

fh = struct('fig',gcf, 'ax',gca);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MATLAB 图形在插入 LaTeX 时不具有相同的大小(尽管使用相同的代码生成) 的相关文章

  • 连接极线ggplot图中的间隙

    当 ggplot 使用极坐标绘制线图时 它会在最高和最低 x 值之间留下间隙 Dec and Jan如下 而不是缠绕成螺旋状 我怎样才能继续这条线并缩小差距 特别是 我想使用月份作为 x 轴 但在一条循环线上绘制多年的数据 Reprex l
  • 使用符号求解器仅求解某些变量

    我正在尝试在 MATLAB 中求解包含 3 个变量和 5 个常量的方程组 是否可以使用solve求解三个变量 同时保持常量为符号而不用数值替换它们 当您使用SOLVE http www mathworks com access helpde
  • 螺旋环绕文本

    我看到在LaTeX 人们将文本包装成螺旋状 https tex stackexchange com questions 88751 text spirals with tikz如下所示 我想在 R 中复制这个 我虽然plotrix s ar
  • 括号中的波形符字符

    在 MATLAB 中 以下代码执行什么操作 m func returning matrix 波浪号运算符 的作用是什么 在 Matlab 中 这意味着不要将函数中相应的输出参数分配到赋值的右侧 因此 如果func returning mat
  • pyplot,为什么x轴不显示?

    我正在尝试根据日期绘制一些值 但是 不幸的是我没有在 x 轴上获得任何值 我觉得这可能有两个因素造成 这些值存储为 日期 因此使过程变得复杂 由于日期将在 x 轴上占据太多空间 因此它变得太混乱 因此这就是为什么我只看到一条黑线 请让我知道
  • 通过 Matlab 访问 Physionet 的 ptbdb 中的数据库

    我首先设置系统 old path which rdsamp if isempty old path rmpath old path 1 end 8 end wfdb url http physionet org physiotools ma
  • 如何更改Plotyy第二轴的颜色和字体大小?

    我使用 MATLAB 的plotyy 函数绘制了两条曲线 AX H1 H2 plotyy voltage span amplitude voltage span Ca SR The problem is that I cannot chan
  • 如何在 MathJax 中对公式进行装箱?

    如何在 MathJax 中围绕公式绘制方框 我见过 LaTeX 一般推荐使用 boxed 但 MathJax 不支持该操作 有没有替代方案可以解决这个问题 boxed 位于 AMSmath 扩展中 因此如果您将 TeX AMSmath js
  • 访问图像的 Windows“标签”元数据字段

    我正在尝试进行一些图像处理 所以现在我正在尝试读取图像 exif 数据 有 2 个内置函数可用于读取图像的 exif 数据 问题是我想读取图像标签 exifread and imfinfo这两个函数都不显示图像标签 Is there any
  • 如何在文本集中创建所有字符组合?

    例如 我有这样的文本集 第 1 栏 a b 第 2 栏 l m n 第 3 栏 v w x y 我想将它们组合起来以获得如下输出 alv alw alx aly amv amw amx amy 这将输出 24 种文本组合 如果我只使用前两列
  • 检测数据集中线性行为的算法

    我已经发布了一个关于对数据集的一部分进行多项式拟合的算法 https stackoverflow com q 17595932 2320757前一段时间收到一些建议去做我想做的事 但我现在面临另一个问题 我尝试应用答案中建议的想法 我的目标
  • 在图形/代码块上方和下方添加垂直空间

    我正在编织Rmd到 PDF 我想在数字 代码块的上方和下方添加垂直空间 以将此内容与正文分开 我已经成功完成了这件事Rnw文件 将以下内容添加到我的序言中看到这个答案 https stackoverflow com questions 22
  • Matlab dec2bin 给出错误的值

    我正在使用 Matlab 的 dec2bin 将十进制数转换为二进制字符串 但是 我得到了错误的结果 例如 gt gt dec2bin 13339262925365424727 ans 101110010001111010010100111
  • 如何将复杂的 csv 文件导入到 Matlab 中的数值向量

    我想知道我们应该如何读取由字符串 双精度数和字符等组成的复杂 csv 文件 例如 您能否提供一个可以在此 csv 文件中提取数值的成功命令 Click here http www ecb europa eu stats money yc d
  • 如何调整ggplot直方图的时间刻度轴

    我正在使用一个数据框 其中一列包含POSIXct日期时间值 我正在尝试使用绘制这些时间戳的直方图ggplot2但我有两个问题 我不知道如何设置 binwidthgeom histogram 我想将每个垃圾箱设置为一天或一周 我尝试提供 di
  • 快速有效地计算已知特征值的特征向量

    我的问题的简短版本 计算矩阵特征向量的最佳方法是什么A 如果我们已经知道属于特征向量的特征值呢 更长的解释 我有一个很大的随机矩阵A由于它是随机的 因此具有非负左特征向量x 这样A Tx x 我正在寻找快速有效的方法来数值计算这个向量 最好
  • MATLAB 类的 Description 和DetailedDescription 属性

    内置 MATLAB 类具有 Description 和 DetailedDescription 属性的值 gt gt handle ans meta class handle Package meta Properties Name han
  • 在 R 中绘制对数正态概率密度

    我正在尝试在 R 中生成对数正态概率密度图 其中包含 3 个不同的均值对数和标准差对数 我尝试了以下方法 但我的图表太丑了 看起来一点也不好看 x lt seq 0 10 length 100 a lt dlnorm x meanlog 0
  • r 中的 5 维图

    我正在尝试在 R 中绘制 5 维图 我目前正在使用rgl包以 4 个维度绘制数据 使用 3 个变量作为 x y z 坐标 另一个变量作为颜色 我想知道是否可以使用这个包添加第五个变量 例如空间中点的大小或形状 这是我的数据和当前代码的示例
  • 读出 Matlab / Octave fft2() 函数输出的特定点

    我正在熟悉 Octave 及其功能fft2 在此玩具示例中 我的目标是生成以下 256 x 256 png 图像的 2D DFT 为了能够轻松理解输出 我尝试将此图像转换为 256 x 256 图像 消除颜色信息 Im imread cir

随机推荐

  • 如何使用 xib 文件为自定义 UIView 类编写 init 方法

    我使用界面生成器创建了简单的视图 该视图有一个标签 你知道如何为这个类创建 init 方法吗 我写了自己的版本 但我不确定它是否正确 interface AHeaderView property nonatomic weak IBOutle
  • 如何更改分片键

    我知道不可能更改片键 但是 当我设置了不正确的分片键时 如何更改它 转储您分片的集合 再次导入它 设置新的分片键
  • 使用实体框架添加和更新实体

    在我的上一个项目中 我使用了 Entity Framework 5 Code First 我完成了我的项目 但在开发过程中遇到了很多痛苦 我试图在下面解释我的痛苦 我的数据访问逻辑层中有几个数据类 例如 Product ProductCat
  • 执行内存中的exe

    我正在尝试这段代码 从内存中执行EXE http www coderprofile com networks source codes 138 execute resource directly in memory 我遇到错误 实际和形式
  • WPF-将列表绑定到列表视图

    我正在创建一个 wpf 应用程序并从我的 USB 网络摄像头捕获图像 我尝试过的是将所有捕获的图像存储在List并在一个Listview public List
  • 为什么我不能将函数调用(而不是函数引用或匿名函数)传递给 setTimeout()?

    请忽略这个代码没有实现任何目标的事实 并对可能是一个愚蠢的问题表示歉意 我知道我无法将函数调用传递给setTimeout 作为第一个参数 但是why我可以不这样做吗 let names Andy Ross David function pr
  • 为什么 std::cin 不能隐式转换为 bool?

    In C 入门第五版 第 14 章讨论转换运算符 在该标准的早期版本中 想要定义到 bool 的转换的类面临一个问题 因为 bool 是算术类型 所以转换为 bool 的类类型对象可以在任何需要算术类型的上下文中使用 这种转变可能会以令人惊
  • popen() 替代方案

    我的问题是这个问题的延伸 popen 创建一个额外的 sh 进程 https stackoverflow com questions 6742635 popen creates an extra sh process Motives 1 我
  • 如何在 C# 中打开程序集绑定日志记录?

    我遇到了这个错误 无法弄清楚缺少什么 Could not load file or assembly xxxxx Version 1 0 0 42 Culture neutral PublicKeyToken c5067b3d1110b13
  • 设置 ComboBox 所选项目突出显示颜色

    我需要更改弹出列表中组合框所选项目的突出显示颜色 我找到了几个解释如何执行此操作的教程 但它们都使用 Blend 我没有也无法获取 或者涉及更改系统默认颜色 这对我来说似乎是一种黑客行为 有人可以指出我需要覆盖的模板 或者告诉我需要设置的属
  • 如何在 Makefile 中获取脚本源?

    有没有更好的方法从 makefile 中获取设置环境变量的脚本 FLAG 0 ifeq FLAG 0 export FLAG 1 bin myshell c
  • 递归取消引用指针

    当我试图在这里回答一个问题时 我发现了这个问题 如何递归取消引用指针 C 03 https stackoverflow com questions 8022821 how to recursively dereference pointer
  • 跨两个表的 SQL SELECT

    我对如何处理这个 SQL 查询有点困惑 我有两个表 记录数相同 我想返回一个列 该列是两者之间的除法 换句话说 这是我的无法正常工作 query SELECT SELECT v FROM Table1 SELECT DotProduct F
  • 升级到 NDK 14 后无法在 C++ 代码中找到声明

    我更新了 Android Studio 2 3 以使用 NDK 14 当您使用代码时 一切都按预期工作 代码编译并且应用程序按预期运行 然而 由于某种原因 当您尝试跳转到任何 C 对象 函数 变量的减速时 您会收到一条消息 工作室 无论代码
  • 如何在服务器发布操作结果后打开新选项卡

    情况是这样的 我有一个保存和一个打印按钮
  • 在php中将数字转换为字符串

    在下面我尝试过 code string code 没有成功 如何在 PHP 中将数字转换为字符串 code 087326487326 strlen strlen code print strlen br for i strlen i gt
  • python列表循环技术语法[重复]

    这个问题在这里已经有答案了 我正在读一本article http www peterbe com plog uniqifiers benchmark关于 python 删除列表中的重复元素 有一个函数定义为 def f8 seq Dave
  • 将 unique_ptr 与成员函数指针一起使用时出错

    我有一堂课如下 class A public A int key m key key int Key const return m key private int m key 我测试使用 unique ptr 和成员函数指针 int A M
  • SwiftUI TabBar:点击当前选定选项卡的 TabItem 来重置视图的操作

    我正在开发的应用程序基于 TabBar 当我在选项卡上时 我希望能够再次单击 tabItem 来重置视图 类似于 Twitter 在其 tabBar 中的做法 但我不知道如何识别该操作 向 TabItem 添加按钮不起作用 添加 ontap
  • MATLAB 图形在插入 LaTeX 时不具有相同的大小(尽管使用相同的代码生成)

    我正在 MATLAB 中生成一些图形 并尝试将它们插入到 LaTeX 中 然而 当我这样做时 它们通常没有相同的大小 尽管我使用相同的设置来生成它们 例如 我当前使用的 MATLAB 代码是这个 lsize 16 Label fontsiz