Полярная ось невыровненная отрицательная yticklabel

Полярная ось невыровненная отрицательная yticklabel

Я хотел бы построить полярный график в масштабе дБ, в этом случае у меня есть положительные и отрицательные значения. Обычно отрицательный радиус строится в противоположном направлении, но с помощьюпреобразование координатЯ получаю желаемый результат.

Но теперь есть проблема, что отрицательные и положительные отметки не идеально выровнены. Я попробовалНамекно это только немного исправляет смещение. Это может быть связано с тем, что решение было дано для задачи вращающихся клещей.

Как правильно выровнять деления оси радиуса?

\documentclass{standalone}
\usepackage{pgfplots}
\usepgfplotslibrary{polar}

\begin{document}
\begin{tikzpicture}
  \begin{polaraxis}[%
      xtick={0,30,...,180},
      ymin=-25,
      ymax=10,
      xmax=180,
      y coord trafo/.code=\pgfmathparse{#1+25},
      y coord inv trafo/.code=\pgfmathparse{#1-25},
      xticklabel=$\pgfmathprintnumber{\tick}^\circ$,
      yticklabel style={yshift=-0.5cm},
    ],
    \addplot[%
    ]
    coordinates{%
      (0,-15)
      (30,-5)
      (90,0)
      (120,5)
    };
  \end{polaraxis}
\end{tikzpicture}
\end{document}

решение1

Как уже упоминалосьв комментарии под вопросом, метки-галочкиявляютсяидеально выровнено. Посмотрите комментарии в коде для более подробной информации.

\documentclass{standalone}
\usepackage{pgfplots}
    \usepgfplotslibrary{polar}
\begin{document}
    \begin{tikzpicture}
        \begin{polaraxis}[
            ymin=-25,
            ymax=10,
            xmax=180,
            % when you have at PGFPlots v1.13 you can use the `xtick distance' feature
%            xtick={0,30,...,180},
            xtick distance=30,
            y coord trafo/.code=\pgfmathparse{#1+25},
            y coord inv trafo/.code=\pgfmathparse{#1-25},
            xticklabel=$\pgfmathprintnumber{\tick}^\circ$,
            yticklabel style={
                % draw a frame around the tick labels to see, that they are
                % indeed centered
                draw=red,
                % (and use there is a better way to position the tick labels
                % on the other side of the axis ...)
%                yshift=-0.5cm,
                anchor=near yticklabel opposite,
            },
        ],
            \addplot coordinates {
                (0,-15) (30,-5) (90,0) (120,5)
            };
        \end{polaraxis}
    \end{tikzpicture}
\end{document}

изображение, показывающее результат кода выше

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