PgfPlots 重复 x 轴标签

PgfPlots 重复 x 轴标签

我的 X 轴上有一些重复的数字。这是我的代码-

\begin{tikzpicture}
    \pgfplotstableread{Figures/measurements.dat}
    \datatable
    \begin{axis}[symbolic x coords={1.2.1.a,1.2.3.b,1.1.3.c,1.1.1.d,1.3.1.e,1.3.3.f,3.3.3.g,1.3.3.h,1.1.3.i,1.1.1.j,1.2.1.k,1.3.1.l},
    x tick label style={rotate=90,anchor=east},
    grid=major,
    xlabel=Processor Configuration,
    ylabel=Clock Cycles,
    legend pos=outer north east,
    legend columns=1,
    cycle list name=exotic,
    %xtick=data,
    xticklabels={1.2.1,1.2.3,1.1.3,1.1.1,1.3.1,1.3.3,3.3.3,1.3.3,1.1.3,1.1.1,1.2.1,1.3.1},
    x label style={at={(0.5,-0.1)}},
    ]   
    \addplot table[y=App_Stop] from \datatable ;
    \addlegendentry{App Stop};
\end{axis}
\end{tikzpicture}

这是我的数据文件 -

Proc_config App_Stop
1.2.1.a     138 
1.2.3.b     923
1.1.3.c     1708
1.1.1.d     923
1.3.1.e     138
1.3.3.f     923
3.3.3.g     923
1.3.3.h     1427
1.1.3.i     923
1.1.1.j     923
1.2.1.k     138
1.3.1.l     923

现在您可以看到我有 2 个条目,例如 1.2.1 重命名为 1.2.1.a 和 1.2.1.k。因此,为了避免 x 轴刻度标签中出现这些 a、b、c...、l,我xticklabels=在代码中添加了命令。但是,它不会显示我添加的每个标签。但是,如果我注释掉此行并取消注释 xtick=data 行,我会得到正确的输出,但是每个条目都有所有后缀 a、b、c...l。我该如何克服这种情况?

答案1

这给出了所需的输出:

\documentclass{article}
\usepackage{pgfplots}
\begin{document}

\begin{tikzpicture}
    \pgfplotstableread{data.dat}
    \datatable
    \begin{axis}[symbolic x coords={1.2.1.a,1.2.3.b,1.1.3.c,1.1.1.d,1.3.1.e,1.3.3.f,3.3.3.g,1.3.3.h,1.1.3.i,1.1.1.j,1.2.1.k,1.3.1.l},
    x tick label style={rotate=90,anchor=east},
    grid=major,
    xlabel=Processor Configuration,
    ylabel=Clock Cycles,
    legend pos=outer north east,
    legend columns=1,
    cycle list name=exotic,
    xtick=data,
    xticklabels={1.2.1,1.2.3,1.1.3,1.1.1,1.3.1,1.3.3,3.3.3,1.3.3,1.1.3,1.1.1,1.2.1,1.3.1},
    x label style={at={(0.5,-0.1)}},
    ]   
    \addplot table[y=App_Stop] from \datatable ;
    \addlegendentry{App Stop};
\end{axis}
\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容