pgfplotstable 从文件读取数据并创建新列

pgfplotstable 从文件读取数据并创建新列

我制作了这个文件parameters.dat

parameter,    value
$K_1$,      0.00034
$K_2$,      0.0053
$K_3$,      0.07
$K_4$,      0.0027

现在我想在我的 .tex 文件中生成一个包含 4 列的表格:(1) 参数;(2) 默认值(来自 .dat 文件的值);(3) 下限(0.75*值);(4) 上限(1.25*值)。我尝试使用以下代码,但 pdflatex 陷入了无限循环:

\pgfplotstableset{
        create on use/lb/.style={
            create col/expr={\thisrow{value}*0.75}},
        create on use/ub/.style={
            create col/expr={\thisrow{value}*1.25}}
    }
    \pgfplotstabletypeset[
            col sep=comma,
        columns={parameter, value, lb, ub},
        columns/parameter/.style={
            column name={Parameter},
            string type
        }
        columns/value/.style={
            column name={Default Value}
        }
        columns/lb/.style={
            column name={Lower Bound}
        }
        columns/ub/.style={
            column name={Upper Bound}
        }
    ]
    {gfx/parameters.dat}

答案1

parameters.dat

parameter,  value
K_1,        0.00034
K_2,        0.0053
K_3,        0.07
K_4,        0.0027

代码:

        \pgfplotstableset{
            create on use/lb/.style={
                create col/expr={\thisrow{value}*0.75}},
            create on use/ub/.style={
                create col/expr={\thisrow{value}*1.25}}
        }
        \pgfplotstabletypeset[
            col sep=comma,
            columns={parameter, value, lb, ub},
            columns/parameter/.style={
                column name={Parameter},
                string type,
                preproc cell content/.append style={/pgfplots/table/@cell content/.add={$}{$}}
            },
            columns/value/.style={
                column name={Default Value}
            },
            columns/lb/.style={
                column name={Lower Bound}
            },
            columns/ub/.style={
                column name={Upper Bound}
            }
        ]{parameters.dat}

相关内容