pgfplots 和 tkz-fct 图之间的差异

pgfplots 和 tkz-fct 图之间的差异

我正在尝试在pgfplots和之间做出选择tkz-fct,以便在 LaTeX 中生成漂亮的图表。tkz-fctpgfplots图表看起来更好,而且花费的精力更少(代码行数更少) 。tkz-fct 的文档但是,不是英语,所以我很难找到如何绘制水平线和垂直线、点、孔等东西的方法。我知道如何用 绘制。pgfplots由于语言障碍,我倾向于在pgfplots我的绘图中使用。但是,我想知道在这两个系统之间做出选择时还应该考虑什么。

作为一项实验,我尝试使用这两个系统生成相同的图并比较了结果:

在此处输入图片描述

\documentclass{book}
\usepackage[margin=.75 in]{geometry}
\usepackage[english = american]{csquotes}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath,amsfonts,amssymb,amsthm,color,srcltx,thmtools}
\MakeOuterQuote{"}
\usepackage{pgf,tikz}
\usepackage{pgfplots}
\usepgfplotslibrary{polar}
\usepgflibrary{shapes.geometric}
\usetikzlibrary{automata,arrows,positioning,calc,decorations.pathreplacing}
\usepackage{physics}
\usepackage{tkz-fct}

\begin{document}
\begin{center}
\begin{tikzpicture}
\begin{axis}[
grid, height=10cm,
axis x line=middle,
axis y line=middle,
xlabel={$x$}, ylabel={$y$},
xtick={-5,-4,...,5}, ytick={-40,-30,...,40},
xmin=-5, xmax=5, ymin=-40, ymax=40,
]
\addplot[domain=-5:5, samples=100, mark=none, thick, blue]{-3*x^4+6*x^3+9*x^2-24*x+12};
\end{axis}
\end{tikzpicture}
\end{center}

\begin{center}
\begin{tikzpicture}
\tkzInit[xmin=-5,xmax=5,ymin=-40,ymax=40,ystep=10]  
\tkzGrid
\tkzAxeXY
\tkzFct[color=blue, thick, domain=-5:5]{-3*x**4+6*x**3+9*x**2-24*x+12};
\end{tikzpicture}
\end{center}
\end{document}

这些图表看起来大致相同,只是 xy标签的位置更好tkz-fct

这似乎pgfplots需要编写更多的手动规范才能获得好看的图片(例如,如果您不指定样本数量,您将得到锯齿状的图形),同时也tkz-fct更加自动化。

目前pgfplots正在引发错误,Package pgfplots Warning: running in backwards compatibility mode (unsuitable tick labels; missing features). Consider writing \pgfplotsset{compat=1.15} into your preamble."但代码仍可编译,所以这对我来说不是一个完全的交易破坏者(我可能只是做错了什么。)

另一方面,打破与tkz-fct和的不兼容性thmtools不兼容性,正如这个问题所讨论的。这个问题,加上缺乏英文文档,使我倾向于使用它pgfplots来绘制图表。

在计算之前,我应该记住使用pgfplots相对于有什么缺点吗?在选择软件包时应该考虑什么?每个软件包的相对优势和相对劣势是什么?感谢您的想法。tkz-fcttkz-fct

相关内容