PgfPlots duplizieren die Beschriftungen der X-Achse

PgfPlots duplizieren die Beschriftungen der X-Achse

Ich habe einige wiederholte Zahlen auf meiner X-Achse. Hier ist mein Code:

\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}

Und hier ist meine Datendatei -

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

Jetzt können Sie sehen, dass ich beispielsweise zwei Einträge für 1.2.1 habe, die in 1.2.1.a und 1.2.1.k umbenannt wurden. Um diese a,b,c...,l in den Teilstrichbeschriftungen der X-Achse zu vermeiden, habe ich den Befehl xticklabels=in den Code eingefügt. Allerdings werden nicht alle Beschriftungen angezeigt, die ich hinzugefügt habe. Wenn ich diese Zeile jedoch kommentiere und die Zeile xtick=data entkommentiere, erhalte ich die korrekte Ausgabe, allerdings mit allen Suffixen a,b,c...l für jeden Eintrag. Wie kann ich diese Situation überwinden?

Antwort1

Dies führt zum gewünschten Ergebnis:

\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}

Bildbeschreibung hier eingeben

verwandte Informationen