极坐标图中的 y 值为负

极坐标图中的 y 值为负

我在极坐标图方面遇到了一些问题。我必须绘制负值,但不改变方向。我尝试将值设置ymin为负数,但不起作用。

\documentclass[10pt,border=10pt]{standalone}
\usepackage{pgfplots}
\usepgfplotslibrary{polar}

\begin{document}
\begin{tikzpicture}
\begin{polaraxis}[
   xticklabel=$\pgfmathprintnumber{\tick}^\circ$,
   ymin=-10,
   xtick={0,30,...,330}]
\addplot table{
   0  -1 
   30 -2
   45 -3
   60 -4
   75 -5
   };
\end{polaraxis}
\end{tikzpicture}
\end{document}

有什么建议吗?为了清楚起见,这就是我所期望的。 图片

答案1

您可以使用将坐标转换为正域y coord trafo/.code=\pgfmathparse{#1+10},并通过设置来更正刻度标签y coord inv trafo/.code=\pgfmathparse{#1-10}

\documentclass[10pt,border=10pt]{standalone}
\usepackage{pgfplots}
\usepgfplotslibrary{polar}

\begin{document}
\begin{tikzpicture}
\begin{polaraxis}[
   xticklabel=$\pgfmathprintnumber{\tick}^\circ$,
   xtick={0,30,...,330},
   y coord trafo/.code=\pgfmathparse{#1+10},
   y coord inv trafo/.code=\pgfmathparse{#1-10}
]
\addplot table{
   0  -1 
   30 -2
   45 -3
   60 -4
   75 -5
   };
\end{polaraxis}
\end{tikzpicture}
\end{document}

答案2

\documentclass[10pt,border=10pt]{standalone}
\usepackage{pgfplots}
\usepgfplotslibrary{polar}

\begin{document}
\begin{tikzpicture}
\begin{polaraxis}[
   xticklabel=$\pgfmathprintnumber{\tick}^\circ$,
   xtick={0,15,...,360},
   ytick={0,1,2,...,5}
   ]
\addplot table{
   0  -1 
   30 -2
   45 -3
   60 -4
   75 -5
   };
\addplot table{
      0  1 
      30 2
      45 3
      60 4
      75 5
      };
\end{polaraxis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

为了得到你想要的相同点,你必须取距离之间的差值,即10-r。参见结果

   \addplot table{
      0  9 
      30 8
      45 7
      60 6
      75 5
      };

在此处输入图片描述

但我不知道如何更改标签。

相关内容