Graficar correctamente una función cuadrática

Oct 24 2020

Tengo el siguiente MWE

\documentclass[tikz,border=2mm]{standalone} 
\begin{document}
\begin{tikzpicture}[domain=-1:6]
\draw[very thin, color=green, step=0.2cm](-2,-3) grid (7,11);
\draw[color=cyan](-2,-3) grid (7,11);
\draw[->,ultra thick] (-2,0)--(7,0) node[below]{$x$};
\draw[->,ultra thick] (0,-3)--(0,11) node[left]{$y$};
\foreach \x in {-1,0,...,6}
\draw (\x cm, 1pt)--(\x cm,-1pt) node[anchor=north] {$\x$};
\foreach \y in {-2,-1,...,10}
\draw (1pt, \y cm)--(-1pt, \y cm) node[anchor=east] {$\y$};
\draw[color=black, thick] plot (\x,\x^2-5*\x+4) node[]{$y=x^2-5x+4$};
\end{tikzpicture}

\end{document}

El problema es que la primera coordenada debería haber sido (-1,10) pero mi código está trazando (-1,8). Otros puntos parecen estar bien. La función es y = x²-5x + 4

Por favor, mis solicitudes son las siguientes:

  1. Ayúdame a corregir este código para que el gráfico pase por (-1,10) como debería, en lugar de (-1,8)
  2. Me alegraría que la etiqueta (y = x²-5x + 4) esté inclinada y a lo largo de la curva en lugar de colgar en la parte superior.

Respuestas

4 Alenanno Oct 24 2020 at 08:18

Aquí hay una solución alternativa con pgfplots, no he cambiado su comando de trama.

Salida

Código

\documentclass[margin=10pt]{standalone}
\usepackage{pgfplots}

\pgfplotsset{compat=1.17} 

\begin{document}
\begin{tikzpicture}
    \begin{axis}[%
            domain=-1:6,
            yscale=2,
            axis lines=middle,
            xlabel={\large $x$},
            ylabel={\large $y$},
            xtick={-1,...,6},
            ytick={-2,...,10},
            ymin=-3,
            ymax=11,
            xmin=-2,
            xmax=7,
            grid=both,
            grid style={line width=.1pt, green},
            major grid style={line width=.2pt,cyan},
            minor tick num=4,
            tick style={draw=none},
            extra x ticks={-2,6,7},
            extra y ticks={-3,10,11},
            extra x tick labels={},
            extra y tick labels={},
            extra x tick style={grid=both},
            extra y tick style={grid=both},
        ]
        \addplot[thick,smooth, cyan!50!green] (\x,\x^2-5*\x+4) node[]{$y=x^2-5x+4$};
    \end{axis}
\end{tikzpicture}
\end{document}
4 Zarko Oct 24 2020 at 08:15

Los culpables de su problema están \x^2en su función. Correcto es (\x)^2.

Tratar:

\documentclass[tikz,border=2mm]{standalone}
\usetikzlibrary{arrows.meta}

\begin{document}
    \begin{tikzpicture}[
arr/.style = {very thick, draw=gray, -{Straight Barb[length=1mm]}},
domain=-1:6, samples=70
                        ]
\draw[very thin, color=green, step=0.2cm](-2,-3) grid (7,11);
\draw[color=cyan](-2,-3) grid (7,11);
\draw[arr] (-2,0) -- (7, 0) node[below]{$x$};
\draw[arr] (0,-3) -- (0,11) node[left]{$y$};
% tick labels
\foreach \x in {-1,0,...,6}
\draw (\x, 1pt) -- ++ (0,-1pt) node[below left] {$\x$};
\foreach \y in {-2,-1,...,10}
\draw (1pt, \y) -- ++ (-1pt, 0) node[below right] {$\y$};
% function
\draw[color=black, thick] plot (\x,{(\x)^2 - 5*\x+4}) 
    node[anchor=north east, rotate=80] {$y=x^2-5x+4$};
\end{tikzpicture}

\end{document}