Проблема с повернутыми yticklabels с помощью pgfplot - PullRequest
1 голос
/ 29 мая 2019

Я использую "yticklabel style={rotate=90}", чтобы повернуть метки ytick в pgfplot на 90 °. Текст меток не выровнен по горизонтали.

В следующем примере «Сгруппированный» не выровнен с другими метками (особенно потому, что он содержит «p»).

Изображение:

enter image description here

У меня заканчиваются опции "стиля", чтобы это исправить, есть идеи, как выровнять эти значения по горизонтали? Спасибо!

Edit:

Минимальный пример (обратите внимание, что мой фактический код использует метки для адресации столбцов в файлах CSV):

\documentclass{article}
% translate with >> pdflatex -shell-escape <file>

% This file is an extract of the PGFPLOTS manual, copyright by Christian Feuersaenger.
% 
% Feel free to use it as long as you cite the pgfplots manual properly.
%
% See
%   http://pgfplots.sourceforge.net/pgfplots.pdf
% for the complete manual.
%
% Any required input files (for <plot table> or <plot file> or the table package) can be downloaded
% at
% http://www.ctan.org/tex-archive/graphics/pgf/contrib/pgfplots/doc/latex/
% and
% http://www.ctan.org/tex-archive/graphics/pgf/contrib/pgfplots/doc/latex/plotdata/

\usepackage{pgfplots}
\pgfplotsset{compat=newest}

\pagestyle{empty}

\begin{document}
\begin{tikzpicture}
  \begin{axis}[
    xbar, xmin=0,
    width=12cm, height=5.5cm, enlarge y limits=0.5,
    xlabel={\#participants},
    symbolic y coords={Flat,Grouped},
    ytick=data,
    nodes near coords, nodes near coords align={horizontal},
    yticklabel style={rotate=90},
    ]
    \addplot coordinates {(3,Flat) (7,Grouped)};
  \end{axis}
\end{tikzpicture}
\end{document}

1 Ответ

1 голос
/ 29 мая 2019

С yticklabel style={rotate=90,anchor=base,yshift=0.2cm}:

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}

\pagestyle{empty}

\begin{document}
\begin{tikzpicture}
  \begin{axis}[
    xbar, xmin=0,
    width=12cm, height=5.5cm, enlarge y limits=0.5,
    xlabel={\#participants},
    symbolic y coords={Flat,Grouped},
    ytick=data,
    nodes near coords, nodes near coords align={horizontal},
    yticklabel style={rotate=90,anchor=base,yshift=0.2cm},
    ]
    \addplot coordinates {(3,{Flat}) (7,Grouped)};
  \end{axis}
\end{tikzpicture}
\end{document}

enter image description here

(красная линия просто для того, чтобы увидеть, что базовые линии выровнены)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...