删除 matlab2tikz 制作的 tikzpicture 中的科学计数法

删除 matlab2tikz 制作的 tikzpicture 中的科学计数法

我很难弄清楚如何删除图表 y 轴上的科学符号。图表是在 MATLAB 中制作的,然后使用包转换为 TikZ 文件matlab2tikz。我添加了代码以在 MATLAB 中删除科学符号,但似乎当我将 tikz 文件放入 LaTeX 时,它会自动恢复科学符号格式。任何帮助都将不胜感激!

我在 LaTeX 中使用的代码如下

\begin{figure}[H]
\begin{scriptsize}
\begin{center}
\setlength\figureheight{8cm}
\setlength\figurewidth{13cm}
\input{My_Picture.tikz}
\end{center}
\end{scriptsize}
\end{figure}

答案1

如果编辑所有 tikz 文件太费力,您可以应用全局设置,以便将它们应用于每个图。以下是示例:

\documentclass{article}

\usepackage{pgfplots,filecontents}
\pgfplotsset{compat=1.6}

% A dummy pgfplots plot with no settings applied
\begin{filecontents*}{My_Picture.tikz}
\begin{tikzpicture}
    \begin{axis}
        \addplot coordinates {(1000,125000)(1500,175000)(900,225000)};
    \end{axis}
\end{tikzpicture}
\end{filecontents*}


% A setting that would be applied to all pgfplots
\pgfplotsset{every axis/.append style={
        scaled y ticks = false, 
        scaled x ticks = false, 
        y tick label style={/pgf/number format/.cd, fixed, fixed zerofill,
                            int detect,1000 sep={\;},precision=3},
        x tick label style={/pgf/number format/.cd, fixed, fixed zerofill,
                            int detect, 1000 sep={},precision=3}
    }
}

\begin{document}
\begin{figure}[H]
\centering
\begin{scriptsize}
    \input{My_Picture.tikz}
\end{scriptsize}
\end{figure}
\end{document}

在此处输入图片描述

答案2

更好的方法是添加 Akk 中指定的选项回答的财产matlab2tikzextraAxisOptions

axoptions={'scaled y ticks = false',...
           'y tick label style={/pgf/number format/.cd, fixed, fixed zerofill,precision=3}'};    
matlab2tikz(FNt,'height','\fh','width','\fw','automaticLabels',true,'showInfo',false,...
                'showWarnings',false,'parseStrings',false,'extraAxisOptions',axoptions);

这样做的好处是可以自动对每个图形进行操作。我没有包括 X 轴选项,因为它们在我的例子中适得其反。

答案3

一种方法是手动编辑My_Picture.tikz

这个问题也与链接有关如何移除轴乘数

您需要在文件中的My_Picture.tikz方括号内添加以下内容\begin{axis}[...]

\begin{axis}[ 
  ... ,
  scaled y ticks = false, 
  scaled x ticks = false, 
  y tick label style={/pgf/number format/.cd, fixed, fixed zerofill,precision=3},
  x tick label style={/pgf/number format/.cd, fixed, fixed zerofill,precision=3}
  ]

上述情况删除了两个轴的科学计数法,并将其替换为具有 3 位小数的数字,如果数字小于 1,则在前导零处添加。

相关内容