我正在尝试在pgfplots
和之间做出选择tkz-fct
,以便在 LaTeX 中生成漂亮的图表。tkz-fct
与pgfplots
图表看起来更好,而且花费的精力更少(代码行数更少) 。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}
这些图表看起来大致相同,只是 x
和y
标签的位置更好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-fct
tkz-fct