我正在尝试绘制一个圆,其半径矢量从圆心到边缘(最好是 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}