用 pgfplots 和轴方向 cs 指定圆弧的半径吗?

用 pgfplots 和轴方向 cs 指定圆弧的半径吗?

我正在尝试绘制一个圆弧(半径为 8 的圆的上半部分,以 (-8,0) 为中心),但我不知道如何在 pgfplots 的坐标系中指定半径。这是 MWE:

\pgfplotsset{compat=1.5.1}
\begin{tikzpicture}
  \begin{axis}[
      xmin=-20,xmax=20,
    ]
    \addplot{x}; % not important, just to make things show up
    \draw (axis cs:-16,0) arc[start angle=180, end angle=0,
                              radius=8];
  \end{axis}
\end{tikzpicture}

我在 pgfplots 手册中读到过axis direction cs,但它没有解释如何使用它来计算半径之类的距离——它只说对于椭圆,它是自动完成的。但我没有椭圆,我有圆弧。

如何使用我的绘图坐标系为我的圆弧指定半径为 8?

答案1

radius您可以使用函数transformdirectionx(相当于的数学解析器)转换的距离\pgfplotstransformdirectionx

\documentclass{article}

\usepackage{pgfplots}
\pgfplotsset{compat=1.5.1}
\begin{document}

\begin{tikzpicture}
  \begin{axis}[
      xmin=-10,xmax=10,
      axis equal,
      grid=both
    ]
    \addplot{x};
    \draw [ultra thick] (axis cs:0,-5) arc[start angle=-90, end angle=180,
                              radius={transformdirectionx(5)}];
  \end{axis}
\end{tikzpicture}
\end{document}

相关内容