tikz 圆圈之间的间距

tikz 圆圈之间的间距

如何缩小圆圈之间的距离?以及如何给每个圆圈上色?

\documentclass{article}
\usepackage[paperheight=30cm,paperwidth=35cm,margin=1in,heightrounded]{geometry}
\usepackage{tikz}
\usetikzlibrary{calc}


\begin{document}
\fbox{\begin{tikzpicture}[scale=0.8] % 
% center
\path  (0,0) coordinate(A);
% circles
\foreach \rr in {2,...,10}{
  \draw  (A) circle (\rr);
}
\end{tikzpicture}}
\end{document}

答案1

由于您使用的范围\foreach,我假设圆圈的数量是灵活的;因此,所涉及的颜色数量也应该是灵活的。

以下是我的做法。

  • 使循环变量(\n下面称为)在整数范围内变化(从 1 到要绘制的圆的总数)。
  • 使用\foreach's键根据该循环变量evaluate生成每个半径的值(下面调用)。\rr
  • 使用\foreachevaluate键生成一个介于 0 和 100 之间的值(如下所示\sat),然后使用该值在两种颜色(例如红色和蓝色)之间线性改变圆圈的颜色。

在此处输入图片描述

\documentclass{article}
\usepackage[paperheight=30cm,paperwidth=35cm,margin=1in,heightrounded]{geometry}
\usepackage{tikz}

\begin{document}
\fbox{\begin{tikzpicture}[scale=0.8] % 
% center
\path  (0,0) coordinate(A);
% circles
\def\Rfactor{0.5}                   % multiplying factor
\pgfmathtruncatemacro\nbcircles{9}  % number of circles to draw
\foreach[
  var=\n,
  evaluate=\n as \rr using \Rfactor*(\n+1),
  evaluate=\n as \sat using 100/(\nbcircles-1)*(\n-1),
] \rr in {1,...,\nbcircles}
{
  \draw[blue!\sat!red]  (A) circle (\rr);
}
\end{tikzpicture}}
\end{document}

相关内容