
Я хотел бы построить полярный график в масштабе дБ, в этом случае у меня есть положительные и отрицательные значения. Обычно отрицательный радиус строится в противоположном направлении, но с помощьюпреобразование координатЯ получаю желаемый результат.
Но теперь есть проблема, что отрицательные и положительные отметки не идеально выровнены. Я попробовалНамекно это только немного исправляет смещение. Это может быть связано с тем, что решение было дано для задачи вращающихся клещей.
Как правильно выровнять деления оси радиуса?
\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}