从圆心到边缘画一条线:

从圆心到边缘画一条线:

我正在尝试绘制一个圆,其半径矢量从圆心到边缘(最好是 45˚),然后是一堆较小的圆 - 全部在 xy 轴上。我有以下代码(我知道这可能有点过头了,但我不知道以后是否要使用刻度线,所以我想保留轴环境(?)。

\begin{figure}[ht]
\centering
\begin{tikzpicture}
\begin{axis}[
    axis y line=center,
    axis x line=middle, 
    xmin=-1,
    xmax=1,
    ymin=-1,
    ymax=1,
    ticks = none,
    %xtick={-8, -6, ..., 8},
    xticklabel = \empty,
    %ytick={-8, -6, ..., 8},
    yticklabel = \empty,
    ylabel={$y$},
    xlabel=$x$
    ]
\draw (axis cs: 0, 0) circle [radius=2cm] (0,0);
\draw (axis cs: 0, 0) circle [radius=1.5cm];
\draw (axis cs: 0, 0) circle [radius=1cm];
\draw (axis cs: 0, 0) circle [radius=0.5cm];
\draw (axis cs: 0, 0) circle [radius=0cm];
\draw[-stealth] (axis cs: 0, 0) -- (25, 5) node[midway,below]{$r$};
\end{axis}
\end{tikzpicture}
\caption{The light distribution at the $xy$-plane will look like this}
\end{figure}

但是,我尝试绘制的任何线都从原点延伸到图形方块的左下角(仅在第三象限)。有什么方法可以让矢量以 45˚ 的角度延伸到外圆吗?此外,除了端点或中点之外,矢量名称还有其他位置吗?我真的不希望其他圆圈妨碍“r”,并希望清楚地看到它。

提前致谢!

答案1

欢迎使用 TeX-SE!pgfplots除非您通过其他方式告诉它,否则会单独重新缩放轴axis equal。完成此操作后,您只需绘制一条线到(a,a)一些a(或使用极坐标并绘制到(45:r)一些r在 Ti 中Z)我还添加了一个普通的 Ti。Z 版本。还请注意,这pgfplots会重新调整单位,因此您需要小心使用单位的位置。我希望以下内容可以帮助您实现想要实现的目标。

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{figure}[ht]
\centering
\begin{tikzpicture}
\begin{axis}[axis equal,
    axis y line=center,
    axis x line=middle, 
    xmin=-2.5,
    xmax=2.5,
    ymin=-2.5,
    ymax=2.5,
    ticks = none,
    %xtick={-8, -6, ..., 8},
    xticklabel = \empty,
    %ytick={-8, -6, ..., 8},
    yticklabel = \empty,
    ylabel={$y$},
    xlabel=$x$
    ]
 \pgfplotsinvokeforeach{0,0.5,...,2}    
 {\draw (0,0) circle [radius=#1];}
 \draw[-stealth] (0,0) -- (2.5,2.5) node[midway,below]{$r$};
 \draw[red,stealth-] ({-2/sqrt(2)},{-2/sqrt(2)}) --  ({-3/sqrt(2)},{-3/sqrt(2)});
\end{axis}
\end{tikzpicture}
\caption{The light distribution at the $xy$-plane will look like this.}
\end{figure}

\begin{figure}[ht]
\centering
\begin{tikzpicture}[scale=2]
 \draw[-stealth] (-2.5,0) -- (2.5,0) node[below]{$x$};
 \draw[-stealth] (0,-2.5) -- (0,2.5) node[left]{$y$};
 \foreach \X in {0,0.5,...,2}   
 {\draw (0,0) circle [radius=\X cm];}
 \draw[-stealth] (0,0) -- (45:{sqrt(2)}) node[midway,below]{$r$};
 \draw[red,stealth-] (-135:2) -- ++ (-135:1);
\end{tikzpicture}
\caption{Ti\emph{k}Z version.}
\end{figure}
\end{document}

相关内容