尺寸太大。\pgf@yy

尺寸太大。\pgf@yy

我也想为这个函数 f(x)=-x²/(x+1)² 描绘一个图形,但是当我使用时,tkz-fct我遇到了这个问题“尺寸太大”

这是我的代码:

\documentclass[twoside]{report}
\usepackage[a4paper, left=1.5cm, right=1.5cm]{geometry}
\usepackage{etex}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[explicit,calcwidth]{titlesec}
\usepackage{amsthm,amsfonts}
\usepackage{amsmath,amssymb,graphicx,multicol,mathrsfs, enumerate,kpfonts,eurosym,alterqcm,enumitem,tabularx,variations,pifont,multirow}
\usepackage[francais]{babel}

\usepackage[np]{numprint}
\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}
\usepackage[many,most]{tcolorbox}
\usepackage{tkz-base}
\usepackage{tkz-fct}
\usetikzlibrary{babel}
\usetikzlibrary{intersections}

\begin{document}

\begin{tikzpicture}
\tkzInit[xmin=-4,xmax=4,ymin=-6,ymax=6,xstep=2,ystep=2]
\tkzAxeXY
\tkzFct[color=red,samples=400,domain=-4:3]{(-1*x**2)/(x+1)**2 -2}
\end{tikzpicture}

\end{document}

谢谢您的回答

答案1

我不太熟悉tkz-fct,但如果可以使用pgfplots,您可以尝试以下方法。关键点是键restrict y to domain,它使您能够丢弃特定域之外的所有计算值。

代码输出

\documentclass[twoside]{report}
\usepackage[a4paper, left=1.5cm, right=1.5cm]{geometry}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[francais]{babel}
\usepackage{pgfplots}
\usetikzlibrary{babel}
\usetikzlibrary{intersections}

\begin{document}

\begin{tikzpicture}
\begin{axis}[
  xmin=-4,xmax=4,
  ymin=-6,ymax=6,
  width=6cm,height=6cm,
  xtick distance=2,ytick distance=2,
  domain=-4:4,
  samples=500,
  axis lines=middle
]
\addplot [
  red,
  % discard all y-values outside given domain
  restrict y to domain=-6:6
] {(-1*x^2)/(x+1)^2 -2};
\end{axis}
\end{tikzpicture}
\end{document}

答案2

tkz-fct远不如 pgfplots 复杂。您必须自己处理不连续性。

\documentclass{article}
\usepackage{tkz-fct}        

\begin{document}
\begin{tikzpicture}
\tkzInit[xmin=-6,xmax=6,ymin=-10,ymax=10,xstep=2,ystep=2]
\tkzAxeXY
\tkzFct[color=red,samples=400,domain=(-6):(-3)]{(-1*x**2)/(x+1)**2 -2}
\tkzFct[color=red,samples=400,domain=-1.5:4]{(-1*x**2)/(x+1)**2 -2}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容