pgfplotstablegetcolumnnamebyindex 和列名中的数学问题

pgfplotstablegetcolumnnamebyindex 和列名中的数学问题

我正在创建一个组图,其中通过从文本文件中提取数据的宏添加单个图。这是添加图和图例条目的宏:

\newcommand{\plotFourFactorCombis}[1]{

\pgfplotstabletranspose[
colnames from=NbOfChangesApplied,
columns={NbOfChangesApplied,0,4,8,12}
]\loadedtable{#1}

\foreach \n in {1,2} {
    \addplot table[x index=0,y index=\n]{\loadedtable};
    \pgfplotstablegetcolumnnamebyindex{\n}\of{\loadedtable}\to{\colname}
    \addlegendentryexpanded{\colname}
    }%
}

制表符分隔的文本文件如下所示:

NbOfChangesApplied  0  4  8  12
{$MAPD^{z^{\text{PBC}}}$}   0   7   14  16
{$MAPD^{z^{\text{DPM}}}$}   0   9   10  22

导致编译错误\text。当我删除时,\text没有编译错误。

有没有办法支持\text宏中的数学命令,例如?

答案1

在宏之外简单、手动的图例输入即可达到目的:

    \nextgroupplot [
    legend entries={$MAPD^{z^{\text{PBC}}}$,$MAPD^{z^{\text{DPM}}}$},
    legend style={
        legend to name=grouplegendA,
        legend cell align=left,
        legend columns=2,
        },
    ]
\plotFourFactorCombis{data.txt}

相关内容