Pgfplots 极轴:我可以像史密斯图一样绘制旋转的角度标签吗?

Pgfplots 极轴:我可以像史密斯图一样绘制旋转的角度标签吗?

[这是邮件列表中出现的一个问题pgfplots。由于它可能引起大家的兴趣,所以我将其发布在这里。]

在中pgfplots,该smithcharts库支持以“倾斜”方式绘制角度刻度标签的选项,如下所示:

\documentclass{standalone}

\usepackage{pgfplots}

\pgfplotsset{compat=1.11}

\usepgfplotslibrary{smithchart}

\begin{document}

\begin{tikzpicture}
    \begin{smithchart}[yticklabel around circle]
    \end{smithchart}
\end{tikzpicture}

\end{document}

在此处输入图片描述

问题是:(如何)我才能实现同样的目标polaraxis

\documentclass{standalone}

\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\usepgfplotslibrary{polar}

\begin{document}
\begin{tikzpicture}
\begin{polaraxis}

\addplot  coordinates  {(2,2)};
\end{polaraxis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案1

smithchart库附带一种样式,可对所有y刻度标签执行此操作。但是,polaraxis轴上有角度刻度标签x,这意味着该smithchart样式不适用。但是,smithchart从手册中复制样式并替换yx可以实现您想要的效果:

\documentclass{standalone}

\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\usepgfplotslibrary{polar}

\begin{document}
\begin{tikzpicture}
\begin{polaraxis}[
    xtick align=center,
    xticklabel style={
            rotate=90,
            sloped like x axis={%
                execute for upside down={\tikzset{anchor=south west}},
                reset nontranslations=false
            },
            anchor=south east,
    }
]

\addplot  coordinates  {(2,2)};
\end{polaraxis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

或者,使用不同的对齐方式:

\documentclass{standalone}

\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\usepgfplotslibrary{polar}

\begin{document}
\begin{tikzpicture}
\begin{polaraxis}[
    xtick align=center,
    xticklabel style={
            sloped like x axis={%
                execute for upside down={\tikzset{anchor=south}},
            },
            anchor=north,
    }
]

\addplot  coordinates  {(2,2)};
\end{polaraxis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容