尝试使用 TIKZ 绘制函数时尺寸太大

尝试使用 TIKZ 绘制函数时尺寸太大

我需要在 0 到 1000 的 x 范围内显示一个函数。以下代码有效:

\begin{tikzpicture}
  \def\xmax{200}
  \def\ymax{1}
  \begin{scope}[yshift=-2.7cm, domain=0:\xmax, >=latex, yscale=1, xscale=0.05]
    \draw[very thin,color=gray,xstep=10.0cm] (-0.1,-1.1) grid (\xmax,3.9);
    \draw[thick, ->] (-0.2,0) -- (\xmax.2,0) node[right] {$x$};
    \draw[thick, ->] (0,-1.2) -- (0,4.2) node[above] {$f(x)$};
    \draw[thick, smooth, color=blue]   plot (\x,{sin(\x r)})   node[right] {$f(x) = \sin x$};
  \end{scope}
\end{tikzpicture}

然而范围在0..200。我以为通过增加\xmax和减少xscale我可以控制最终的图像但是只要我超过我总是会出现错误\def\xmax{200}

如何实现这一点?

编辑

根据建议,我尝试使用:

\begin{scope}[samples=400, yshift=-2.7cm, domain=0:\xmax, >=latex, yscale=1, xscale=0.05] ...

它可以工作到 400。如果我增加到samples400\xmax以上,它就不再起作用了。同样的错误。

答案1

我不知道这是否有帮助,或者我是否解决了您的问题,但 PgfPlots 通常是一种很好的绘图解决方案。

输出

在此处输入图片描述

代码

\documentclass[12pt,tikz]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.14}
\begin{document}
\begin{tikzpicture}

  \begin{axis}
    [
      height=10cm,
      domain=0:1000,
      samples=201,
      grid=both,
      axis lines=center,
      clip=false,
    ]

    \addplot[color=blue!70]  {sin(x)} 
       node[pos=.83,anchor=west] {$f(x) = \sin(x)$};
  \end{axis}

\end{tikzpicture}
\end{document}

相关内容