Диаграмма ящика - Новая линия для длинных xticklabels

Диаграмма ящика - Новая линия для длинных xticklabels

Я хочу, чтобы мои "xticklabels" имели новую строку между ними, чтобы они были в две строки и не были такими тесными. Двойной обратный слеш \\ и \n не сработали.

мой график

Код:

\documentclass{standalone}
\usepackage{tikz,pgfplots,pgfplotstable}
\pgfplotsset{compat=1.18}
\usepgfplotslibrary{statistics}

\begin{document}

\begin{tikzpicture}
\begin{axis}[
    width=0.9\textwidth,
    boxplot/draw direction=y,
    axis y line=left,
    enlarge y limits,
    ylabel={Impact of latency},
    xlabel={Game and latency},
    ytick={1, 2, 3, 4, 5},
    yticklabels={1, 2, 3, 4, 5},
    ymajorgrids,
    xtick={1, 2, 3, 4},
    xticklabels={Chess 0ms ,  Chess 1000ms, Pong 0ms, Pong 1000ms},
]

\addplot+ [boxplot prepared={lower whisker=1, upper whisker=2}] coordinates {};
\addplot+ [boxplot prepared={lower whisker=2, upper whisker=4}] coordinates {};
\addplot+ [boxplot prepared={lower whisker=1, upper whisker=2}] coordinates {};
\addplot+ [boxplot prepared={lower whisker=4, upper whisker=5}] coordinates {};

\end{axis}
\end{tikzpicture}

\end{document}

решение1

Чтобы разорвать линии с помощью \\узлов, необходимо установить его выравнивание с помощью align. Добавить

xticklabel style={align=center}

и вы можете использовать

xticklabels={Chess\\ 0ms,  Chess\\ 1000ms, Pong\\ 0ms, Pong\\ 1000ms},

Полный пример (я удалил axis y line=left, это добавило стрелки на левой стороне поля):

\documentclass{standalone}
\usepackage{tikz,pgfplots,pgfplotstable}
\pgfplotsset{compat=1.18}
\usepgfplotslibrary{statistics}

\begin{document}

\begin{tikzpicture}
\begin{axis}[
    width=0.9\textwidth,
    boxplot/draw direction=y,
    enlarge y limits,
    ylabel={Impact of latency},
    xlabel={Game and latency},
    ytick={1, 2, 3, 4, 5},
    ymajorgrids,
    xtick={1, 2, 3, 4},
    xticklabels={Chess\\ 0ms,  Chess\\ 1000ms, Pong\\ 0ms, Pong\\ 1000ms},
    xticklabel style={align=center}
]

\addplot+ [boxplot prepared={lower whisker=1, upper whisker=2}] coordinates {};
\addplot+ [boxplot prepared={lower whisker=2, upper whisker=4}] coordinates {};
\addplot+ [boxplot prepared={lower whisker=1, upper whisker=2}] coordinates {};
\addplot+ [boxplot prepared={lower whisker=4, upper whisker=5}] coordinates {};

\end{axis}
\end{tikzpicture}

\end{document}

Полный пример

Связанный контент