tikz图片移位

tikz图片移位

我从 GeoGebra 导出了以下图表的代码。 在此处输入图片描述

\begin{tikzpicture}[scale=0.5]
\begin{axis}[
x=1cm,y=1cm,
axis lines=middle,
ymajorgrids=true,
xmajorgrids=true,
xmin=-2,
xmax=4,
ymin=-1,
ymax=2,
]
\draw [shift={(2,0)},line width=1pt]  (0,0) --  plot[domain=1.1780972450961726:1.5707963267948966,variable=\t]({1*1*cos(\t r)+0*1*sin(\t r)},{0*1*cos(\t r)+1*1*sin(\t r)}) -- cycle ;
\end{axis}
\end{tikzpicture}

但是上面的代码给出了下面的图表。

在此处输入图片描述

[shift={(2,0)},line width=1pt] 通过调整[shift={(2cm,0cm)},line width=1pt][shift={(2-2,0-1)},line width=1pt] 其中 -2,-1 来自 xmin=-2、ymin=-1,问题得到解决。

我想知道为什么初始代码不起作用,以及是否有办法[shift={(2,0)},line width=1pt]在有很多“'”的情况下一次输入“cm” \draw[shift={(,)}]

答案1

可重现所需图像的宽度:

\documentclass[margin=2mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.17}

\begin{document}
\begin{tikzpicture}[scale=0.5]
\begin{axis}[
x=1cm,y=1cm,
axis lines=middle,
grid,
xmin=-2,    xmax=4,
ymin=-1,    ymax=2,
]
\draw [xshift=2cm, line width=1pt]  (0,0) --  plot[domain=1.1780:1.570,variable=\t] ({cos(\t r)},{sin(\t r)}) -- cycle ;
\end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

  • shift绘图函数无法按预期工作。您需要将其替换为xshift=..., yshift=...
  • 对于需要添加单位的移位量,默认值为pt
  • 你的原始代码有很多混乱:1*?1*cos(\t r)很快就会cos(\t r)

答案2

最近,Geogebra 将其转换为 pgfplots 代码,但对于这项任务,我更喜欢 Tikz

    \documentclass[margin=2mm]{standalone}
    \usepackage{tikz,pgfplots}
    \pgfplotsset{compat=1.17}
    
    \begin{document}
    \begin{tikzpicture}[>=latex]
    \draw[gray, opacity=0.5, xstep=2cm, ystep=1] (-2,-1) grid (4,2);
    \draw[->] (-2,0)-- (4,0) ;
    \draw[->] (0,-1) -- (0,2) ;
    \draw (2,0) -- (2,1) arc (90:67.5:1) --cycle;
    \end{tikzpicture}
 
or with axis labels
 
\begin{tikzpicture}[>=latex]
    \draw[gray, opacity=0.5, xstep=2cm, ystep=1] (-2,-1) grid (4,2);
    \draw[->] (-2,0)-- (4,0) node[pos=0.97, above] {$x$};
    \draw[->] (0,-1) -- (0,2) node[pos=0.94, right] {$y$};
    \draw (2,0) -- (2,1) arc (90:67.5:1) --cycle;
    \end{tikzpicture}

    \end{document}

它更简单。 在此处输入图片描述

相关内容