使用 tikz 或类似的东西来生成一般图表?

使用 tikz 或类似的东西来生成一般图表?

我正在寻找的是可以非常容易生成的图表?例如,只需绘制具有一些线性函数或二次/三次/四次的 xy 图?一般情况下,没有编号轴等,没有任何具体内容。我需要能够区分具有不同根的情况,例如,对于某些一般三次,我可以有 2 个负数和 1 个正数等,有没有一种非常简单的方法可以做到这一点?我可以在哪里移动不同次数的多项式?我不是使用 tikz 的专家,说实话,我对此一无所知。此外,如果可以在任何地方添加一些通用抛物线,那就是正四分位数,并且可以在任何地方上下“滑动”……我不需要任何人编写代码,只要朝着正确的方向推动,我将不胜感激。

答案1

pgfplots

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{graph.tex}
\documentclass[tikz,border=12pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}

\def\f#1{x^2-(#1)*x+3}

\begin{document}
\foreach \n in {-5,-4.5,...,5}{
  \begin{tikzpicture}
    \useasboundingbox (0,0) rectangle (7,6);
    \begin{axis}[
        axis x line=center,
        axis y line=center,
        ymax=6, ymin=-6,
        xmax =6, xmin=-6,
        xtick=\empty,
        ytick=\empty,
        enlargelimits=false,
    ]
        \addplot[mark=none,smooth,domain=-5:5,color=magenta,samples=1000]
        {\f{\n}};
    \end{axis}
  \end{tikzpicture}
}
\end{document}
\end{filecontents*}
%create the graph.pdf.
\immediate\write18{pdflatex graph}
% convert to GIF animation
\immediate\write18{convert -delay 50 -loop 0 -density 200 -alpha remove graph.pdf graph.gif}

\begin{document}
 Look for the graph.gif file in the same directory as this file.
\end{document}

为了生成 gif 文件imagemagick必须安装。

在此处输入图片描述

答案2

latex-dvips-ps2pdf使用 PSTricks。按顺序(更快)或xelatex(更慢)进行编译。

修改宏\f以满足您的需要。例如,以下动画显示了该函数对任何 的行为#1。尽情享受吧!

\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pst-plot}
\psset{algebraic,plotpoints=1000}

\def\f#1{x^2-(#1)*x+3}

\begin{document}
\multido{\n=-5.0+.5}{21}{%
\begin{pspicture*}(-5,-5)(6,6)
    \psaxes{->}(0,0)(-5,-5)(5.5,5.5)[$x$,0][$y$,90]
    \psplot[linecolor=blue]{-5}{5}{\f{\n}}
\end{pspicture*}}
\end{document}

在此处输入图片描述

PDF 动画

对于 PDF 动画(而不是 GIF 动画),使用输入文件的名称编译以下pdflatex -shell-escape host.tex内容。host.tex

% this file is host.tex
% it must be compiled with pdflatex -shell-escape host.tex
% =========================================================
\documentclass[preview,border=12pt]{standalone}
\usepackage{filecontents}

\begin{filecontents*}{frames.tex}
\documentclass[pstricks,border=12pt]{standalone}
\usepackage{pst-plot}
\psset{algebraic,plotpoints=1000}

\def\f#1{x^2-(#1)*x+3}

\begin{document}
\multido{\n=-5.0+.5}{21}{%
\begin{pspicture*}(-5,-5)(6,6)
    \psaxes{->}(0,0)(-5,-5)(5.5,5.5)[$x$,0][$y$,90]
    \psplot[linecolor=blue]{-5}{5}{\f{\n}}
\end{pspicture*}}
\end{document}
\end{filecontents*}

\usepackage{pgffor}
\usepackage{animate}

\foreach \compiler/\ext in {latex/tex,dvips/dvi,ps2pdf/ps}
    {\immediate\write18{\compiler\space frames.\ext}}


\begin{document}
\animategraphics[controls,autoplay,loop,scale=1]{4}{frames}{}{}
\end{document}

在此处输入图片描述

您可以使用动画下方的直观控制面板。是不是很棒?

相关内容