
Gostaria de traçar um gráfico polar em escala de dB, neste caso tenho valores positivos e negativos. Normalmente um raio negativo é traçado na direção oposta, mas com a ajuda detransformando as coordenadasEu obtenho o resultado que desejo.
Mas agora existe o problema de que os ticks negativos e positivos não estão perfeitamente alinhados. tenteiuma dicamas isso apenas corrige um pouco o deslocamento. Isto pode ser devido ao fato de a solução ter sido dada para um problema de ticks rotativos.
Como posso alinhar corretamente as marcações do eixo do raio?
\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}
Responder1
Como já mencionadono comentário abaixo da pergunta, os rótulos de escalasãoperfeitamente alinhado. Dê uma olhada nos comentários no código para mais detalhes.
\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}