具有自动偏移校正功能的绘图

具有自动偏移校正功能的绘图

我有很多测量数据文件,想在一个图中比较它们。数据文件如下所示

0,00000 -0,39875 -1,96508
0,05000 -0,38791 -1,95986
0,10000 -0,38026 -1,95792
0,15000 -0,37083 -1,95451
0,20000 -0,35972 -1,94957

是的,没有标题,分隔符是制表符,并且我们有,而不是小数点。

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}
    \begin{axis} [name=plot, legend pos=outer north east]
    \addplot[red] 
        table [
                /pgf/number format/read comma as period,
                col sep=tab,
                x index=1,
                y index=2,
#                y expr=(\thisrowno{2})*-1 % <- Error
            ]
            {./Data/07062022-1434.txt};
    \addlegendentry{100mHz}
    \end{axis}
\end{tikzpicture}
\end{document}

数据没有偏移。第一步,我可以手动计算并在使用 latex 绘制数据之前更正数据。我想用一行注释来实现这一点,但它不起作用。我总是收到此错误消息:

程序包 PGF 数学错误:抱歉,浮点单元的内部例程收到格式错误的浮点数“2Y1.0e0]1Y9.5986e4]”。不可读部分位于“2Y1.0e0]1Y9.5986e4]”附近。(在“(-1,95986)*-1”中)。

为什么?表格没有正确转换数据?

下一步是,latex 自动计算偏移量。这是计算:

偏移 = (abs(最大值)-abs(最小值))/2

第 2 列。这可能吗?

我无法手动操作文件,因为我有很多文件,而且我必须在图形图表中比较不同的文件(大小写)。

感谢您的帮助

答案1

\documentclass[tikz, border=1cm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot[
red,
mark=*,
y filter/.expression={-y},
] table[
header=false,
col sep=tab,
x index=1,
y index=2,
/pgf/number format/read comma as period,
] {data.dat};
\end{axis}
\end{tikzpicture}
\end{document}

带红色图的图表

相关内容