修改轴步长值而不更改 Pgfplots 中的数据

修改轴步长值而不更改 Pgfplots 中的数据

我想使用 Pgfplots 的表格绘制图表。

\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}

\usepackage{filecontents}
\begin{filecontents*}{data1.txt}
x   y
0.01042 -4.98E-04
0.02084 -2.006E-03
0.03126 -4.487E-03
0.04167 -7.852E-03
0.05209 -1.179E-02
0.0625  -1.476E-02
0.07292 -1.56E-02
0.08334 -1.573E-02
0.09376 -1.581E-02
0.10417 -1.586E-02
0.11459 -1.592E-02
\end{filecontents*}

\begin{document}

\begin{tikzpicture}
\begin{axis}[
ymin=-0.02, ymax =0.0,
xmin=0.0, xmax =0.1, 
]    
\addplot[] table {data1.txt};
\end{axis}
\end{tikzpicture}

\end{document}

现在,输出看起来像这样。

但是,我想将 y 轴步长值乘以 100,而不修改数据本身,并且想要类似这样的效果。

有什么办法吗?为了澄清上下文,在我的原始数据中,y 以米为单位,但值太小,所以我想将其更改为厘米。

答案1

欢迎使用 TeX.SX!您可以使用该pgfplotstable包并向表中添加一个虚拟列,其中包含来自列乘以 100(灵感来自这个很好的答案):

\documentclass[border=10pt]{standalone}
\usepackage{pgfplots, pgfplotstable}
\pgfplotsset{compat=newest}

\begin{filecontents*}{data1.txt}
x       y
0.01042 -4.98E-04
0.02084 -2.006E-03
0.03126 -4.487E-03
0.04167 -7.852E-03
0.05209 -1.179E-02
0.0625  -1.476E-02
0.07292 -1.56E-02
0.08334 -1.573E-02
0.09376 -1.581E-02
0.10417 -1.586E-02
0.11459 -1.592E-02
\end{filecontents*}

\pgfplotstableread{data1.txt}\datatable
\pgfplotstableset{
    create on use/multiplied y value/.style={
        create col/expr={100*\thisrow{y}}
    }
}

\begin{document}
\begin{tikzpicture}
\begin{axis}[
ymin=-2, ymax=0,
xmin=0.0, xmax=0.1, 
]    
\addplot[] table [y=multiplied y value] {\datatable};
\end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容