![使用 tikz 或类似的东西来生成一般图表?](https://linux22.com/image/278145/%E4%BD%BF%E7%94%A8%20tikz%20%E6%88%96%E7%B1%BB%E4%BC%BC%E7%9A%84%E4%B8%9C%E8%A5%BF%E6%9D%A5%E7%94%9F%E6%88%90%E4%B8%80%E8%88%AC%E5%9B%BE%E8%A1%A8%EF%BC%9F.png)
我正在寻找的是可以非常容易生成的图表?例如,只需绘制具有一些线性函数或二次/三次/四次的 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}
您可以使用动画下方的直观控制面板。是不是很棒?