我想使用 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}