У меня есть повторяющиеся числа на оси 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. Поэтому, чтобы избежать этих a, b, c..., l в метках делений оси x, я добавил команду 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}