最近,我一直在使用tkz-fct
绘图包,我有一个包含多个图表的文档,但是当我\tkzDefPointByFct
在一些图表中使用时,出现了一些奇怪的现象,而第一个图表根本没有任何问题
\documentclass{article}
\usepackage{tkz-fct}
\begin{document}
\begin{tikzpicture}
\tkzInit[xmin=-5,xmax=5,ymin=-3,ymax=7]
\tkzGrid[color=gray!40,line width=0.2pt]
\tkzDrawX[color=black,label={$x$},above left=5pt]
\tkzLabelX[color=black]
\tkzDrawY[color=black,label={$y$},below right=5pt]
\tkzLabelY[color=black,orig=false]
\tkzFct[domain=-2:4,color=red,line width=1.2pt]{(x-2)*(x+1)*(x-3)}
\tkzFct[domain=-1:2,color=cyan,line width=1.2pt]{(x-2)*(x+1)*(x-3)}
\tkzFct[domain=3:4,color=cyan,line width=1.2pt]{(x-2)*(x+1)*(x-3)}
\tkzSetUpPoint[size=6,color=cyan,fill=cyan]
\tkzDefPointByFct[draw](-1)
\tkzDefPointByFct[draw](2)
\tkzDefPointByFct[draw](3)
\end{tikzpicture}
\end{document}
使用下一个代码,错误FP error: UPN stack is empty!. \tkzDefPointByFct[draw](-2)
就会弹出
\documentclass{article}
\usepackage{tkz-fct}
\begin{document}
\begin{tikzpicture}
\tkzInit[xmin=-6,xmax=4,ymin=-6,ymax=4]
\tkzGrid[color=gray!40,line width=0.2pt]
\tkzDrawX[color=black,label={$x$},above left=5pt]
\tkzLabelX[color=black]
\tkzDrawY[color=black,label={$y$},below right=5pt]
\tkzLabelY[color=black,orig=false]
\tkzFct[domain=-3:2,color=red,line width=1.2pt]{-(2*x-3)*x*(x+2)}
\tkzFct[domain=-2:0,color=cyan,line width=1.2pt]{-(2*x-3)*x*(x+2)}
\tkzFct[domain=1.5:2,color=cyan,line width=1.2pt]{-(2*x-3)*x*(x+2)}
\tkzSetUpPoint[size=6,color=cyan,fill=white]
%Error when activated all these points
%\tkzDefPointByFct[draw](-2)
%\tkzDefPointByFct[draw](0)
%\tkzDefPointByFct[draw](1.5)
\end{tikzpicture}
\end{document}
有什么办法可以解决这个问题吗?我想坚持tkz-fct
答案1
对我来说这似乎是解析问题...在我将方程式用括号括起来后,编译时不会出错()
。也许这是 的要求gnuplot
,但我不确定。
\documentclass{article}
\usepackage{tkz-fct}
\begin{document}
\begin{tikzpicture}
\tkzInit[xmin=-6,xmax=4,ymin=-6,ymax=4]
\tkzGrid[color=gray!40,line width=0.2pt]
\tkzDrawX[color=black,label={$x$},above left=5pt]
\tkzLabelX[color=black]
\tkzDrawY[color=black,label={$y$},below right=5pt]
\tkzLabelY[color=black,orig=false]
% Addiditional brackets ()
\tkzFct[domain=-3:2,color=red,line width=1.2pt]{(-(2*x-3)*x*(x+2))}
\tkzFct[domain=-2:0,color=cyan,line width=1.2pt]{(-(2*x-3)*x*(x+2))}
\tkzFct[domain=1.5:2,color=cyan,line width=1.2pt]{(-(2*x-3)*x*(x+2))}
\tkzSetUpPoint[size=6,color=cyan,fill=white]
\tkzDefPointByFct[draw](-2)
\tkzDefPointByFct[draw](0)
\tkzDefPointByFct[draw](1.5)
\end{tikzpicture}
\end{document}
顺便说一句:我有点喜欢那些 tikz 包,因为它们迫使我使用我糟糕的法语技能 ;)