pgfplots-x 轴标签显示 0.001 而不是 10^-3

pgfplots-x 轴标签显示 0.001 而不是 10^-3

我在 matlab 中绘制了一个图,然后使用 matlab2tikz 和 pfgplots 将该图包含到我的 latex 文件中。

这就是我在乳胶中称呼图表的方式......

\documentclass[a4paper, 11pt]{report}    
\usepackage{tikz}
\usepackage{import}
\usepackage{pgfplots}
\pgfplotsset{
    table/search path={figures},
}

\begin{document}
\begin{figure}[h]
\centering
\subimport{figures/}{fig1.tikz}
\caption{this is a figure}  
\end{figure}

\end{document}

但不知何故,x 轴标签在该过程中发生了变化......

这是 MATLAB 图: 这是 matlab 图

这是编译我的乳胶文档后的结果图:

matlab绘图

我不知道是否有简单的解决方法。(我还没有提供一个最小的工作示例,但如果有必要,请告诉我。) 代码 tikzpicture:

\begin{tikzpicture}

\begin{axis}[%
width=4.5in,
height=2.7in,
at={(1.531in,0.529in)},
scale only axis,
separate axis lines,
every outer x axis line/.append style={mycolor2},
every x tick label/.append style={font=\color{mycolor2}},
every x tick/.append style={mycolor2},
xmin=0,
xmax=0.1,
xlabel style={font=\color{mycolor2}},
xlabel={xlabel},
every outer y axis line/.append style={mycolor2},
every y tick label/.append style={font=\color{mycolor2}},
every y tick/.append style={mycolor2},
ymin=25,
ymax=75,
ylabel style={font=\color{mycolor2}},
ylabel={ylabel},
axis background/.style={fill=white},
xmajorgrids,
ymajorgrids,
legend style={legend cell align=left, align=left, draw=white!15!black}
]
\addplot [color=mycolor1, line width=0.7pt]
plot [error bars/.cd, y dir = both, y explicit]
table[row sep=crcr, y error plus index=2, y error minus index=3]{%
0.1 28.5    0.12    0.12\\
0.075   28.1    0.13    0.13\\
0.05    28.4    0.37    0.37\\
0.025   29.6    0.47    0.47\\
0.01    32.7    0.66    0.66\\
0.009   31.9    0.67    0.67\\
0.008   33.2    0.89    0.89\\
0.007   35.3    1.05    1.05\\
0.006   34.8    1.07    1.07\\
0.005   37.6    1.58    1.58\\
0.004   37.5    0.94    0.94\\
0.003   38.7    0.82    0.82\\
0.002   41.8    1.94    1.94\\
0.001   46.3    1.32    1.32\\
0.0005  53.6    1.58    1.58\\
0.0001  54.5    0.95    0.95\\
1e-05   62.3    0.46    0.46\\
1e-06   71.6    0.03    0.03\\
0   72.9    0.03    0.03\\
};
\addlegendentry{Line - I}

\addplot [color=red, line width=0.7pt]    
 plot [error bars/.cd, y dir = both, y explicit]
 table[row sep=crcr, y error plus index=2, y error minus index=3]{%
0.1 28.1    0.19    0.19\\
0.075   27.8    0.21    0.21\\
0.05    27.6    0.23    0.23\\
0.025   27.3    0.12    0.12\\
0.01    31.7    0.7 0.7\\
0.009   31.1    0.64    0.64\\
0.008   30.1    0.65    0.65\\
0.007   33.4    1.02    1.02\\
0.006   35  1.23    1.23\\
0.005   33.5    1.43    1.43\\
0.004   37.5    0.72    0.72\\
0.003   35.4    1.84    1.84\\
0.002   45  0.75    0.75\\
0.001   46.6    1.8 1.8\\
0.0005  52.9    0.46    0.46\\
0.0001  69.8    0.5 0.5\\
1e-05   71.6    0.16    0.16\\
};
\addlegendentry{Line - II}

\end{axis}
\end{tikzpicture}%

答案1

评论中提出的解决方案确实有效。

添加x tick label style={/pgf/number format/.cd,fixed,precision=2}到您的axis options

我必须修改您的 MWE,使其由于未定义的颜色(例如mycolor1)而可编译,同时也向您展示您可以将代码片段减少到什么程度。

简化的 MWE

\documentclass{standalone}    
\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}

\begin{axis}[%
width=4.5in,
height=2.7in,
every x tick label/.append style={/pgf/number format/.cd,fixed,precision=2},
xmin=0,
xmax=0.1,
ymin=25,
ymax=75,
]
\addplot [color=green]
plot [error bars/.cd, y dir = both, y explicit]
table[row sep=crcr, y error plus index=2, y error minus index=3]{%
0.1 28.5    0.12    0.12\\
0   72.9    0.03    0.03\\
};

\end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容