Re: Problema con un grafico ottenuto con pgfplots

#68579
robitex
Amministratore del forum
    Up
    0
    Down
    ::

    gcappellotto47″ post=67681

    [quote=”gcappellotto47″ post=67675]Salve a tutti
    sto leggendo l’articolo di De Marco e Giacomelli, pubblicato sul numero12 di ArsTEXnica. Sono solo all’inizio, ma ho provato a disegnare un grafico secondo le prime istruzioni riportate a pag.14 e pag.20. I grafici (sia pure elementari) che ho ottenuto sono molto buoni, ma c’è un problema nel caso della funzione f(x)=tan(x): vengono tracciate anche la linee verticali: x=PI/2, x=3/2PI, ecc. che ovviamente sono gli asintoti della funzione; sarebbe opportuno che non fossero visibili. E’ possibile risolvere tale problema?
    Grazie e saluti
    Giovanni C.

    Prova con l’opzione unbounded coords=jump. In realtà gli asintoti non vengono disegnati. Quelle linee pseudo verticali sono l’unione tra due punti del grafico che si trovano prima e dopo l’ascissa dell’asintoto.

    Riporta comunque il tuo codice per favore.
    Bye

    Ho cercato nel “Manual for Package PGFPLOTS” versione 1.5.1 (ricchissimo di esempi) che ho trovato in rete. A pagina 273 ho reperito quanto mi serviva.
    Riporto la parte di codice che ho riscritto; adesso il grafico della tangente è perfetto.

    …..
    \begin{tikzpicture}
    \begin{axis}
    [restrict y to domain=-20:20,
    samples=1000,
    xmin=-4.7,
    xmax=4.7,
    ymin=-10,
    ymax=10,
    grid=major,
    xlabel=$x$, ylabel=$y$,
    axis x line=bottom,
    axis y line=left,
    ]
    \addplot{tan(deg(x))}; %grafico della funzione tangente
    \end{axis}
    \end{tikzpicture}

    saluti
    Giovanni C.[/quote]
    Non ricordavo che unbounded coords funzionasse solo con le coordinate ‘inf’ o ‘nan’.
    L’opzione restrict y to domain opera invece sui valori di ordinata impostando l’opzione precedente dietro le quinte per interrompere la curva in plotaggio.
    Ottimo!

    Ecco il codice completo:
    `\documentclass{standalone}
    \usepackage{pgfplots}

    \begin{document}
    \begin{tikzpicture}
    \begin{axis}[
    compat=1.5,
    restrict y to domain=-20:20,
    samples=250,
    xmin=-4.7, xmax=4.7,
    ymin=-10, ymax=10,
    grid=major,
    xlabel=$x$, ylabel=$y$,
    axis x line=bottom,
    axis y line=left,
    ]
    \addplot{tan(deg(x))};
    \end{axis}
    \end{tikzpicture}
    \end{document}`
    Un saluto e happy Pgfplots!

    Go to top