\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}