缩放圆的位置但不缩放半径

缩放圆的位置但不缩放半径

考虑以下代码:

\documentclass{article}
\usepackage{tikz}


\begin{document}
\begin{tikzpicture}[scale=2]
    \draw[help lines] (-3,-3) grid (3,3);
    \draw (-3,0)--(3,0) node[right] {$x$};
    \draw (0,-3)--(0,3) node[above] {$y$};
    \filldraw (0,1) circle (2pt);
\end{tikzpicture}


\end{document}

这条线\filldraw (0,1) circle (2pt);是我的重点。我正在缩放图像,所以我希望位置(0,1)也缩放,但我不希望半径(2pt)也缩放。我希望半径(2pt)在图像缩放时保持不变(scale=2)

有任何想法吗?

谢谢。

答案1

在我看来,您似乎只想缩放坐标系,而不是图形本身。为此,我建议设置X向量到2cm

这意味着坐标(2,3)将被解释为坐标(2*2cm, 3*2cm)= (4cm, 6cm),而使用默认xy选项,scale=2将执行(2*2*1cm, 3*2*1cm)

step由于的初始设置为grid1cm我们还需要将其更改为 ,1以便在 TikZ 的坐标系中识别它(而不是像所有具有尺寸的值一样在画布中识别它)。


另一种选择是在本地重置任何变换并仅缩放坐标,但您需要再次重复任何给定的变换:

\filldraw[reset cm] ([scale=2] 0,1) circle (2pt);

这里也可以使用节点:

\node[inner sep=+0pt, minimum size=+1pt, draw, fill, shape=circle] at (0,1) {};

何时transform shape为假。

代码

\documentclass[tikz,convert=false]{standalone}
\begin{document}
\begin{tikzpicture}[x=2cm, y=2cm, step=1]
    \draw[help lines] (-3,-3) grid (3,3);
    \draw (-3,0)--(3,0) node[right] {$x$};
    \draw (0,-3)--(0,3) node[above] {$y$};
    \filldraw (0,1) circle (2pt);
\end{tikzpicture}
\end{document}

输出

在此处输入图片描述

相关内容