≡ Menu

Unlocking the Power of PGFPlots: High-Quality Graphing Directly in LaTeX…

If you frequently work with scientific documents in LaTeX, you might be interested in learning about the plotting capabilities of PGFPlots, a LaTeX package that makes graph creation a breeze. Unlike other plotting tools, PGFPlots allows you to create high-quality graphs directly within your LaTeX documents. Below, some examples are presented that illustrate the various functionalities of PGFPlots.


Se lavori frequentemente con documenti scientifici in LaTeX, potresti essere interessato a conoscere le capacità di tracciamento di PGFPlots, un pacchetto LaTeX che rende la creazione di grafici un gioco da ragazzi. A differenza di altri strumenti di plotting, PGFPlots ti permette di creare grafici di alta qualità direttamente all’interno dei tuoi documenti LaTeX. Di seguito, sono presentati alcuni esempi che illustrano le varie funzionalità di PGFPlots.

Esempio 1: Grafico a Linee – Un grafico a linee è uno dei grafici più semplici che puoi creare. Puoi tracciare la funzione \(y=x^2\) usando il codice seguente:

\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
    title={Grafico a Linee Semplice},
    xlabel={Asse X},
    ylabel={Asse Y},
]
\addplot[color=red]{x^2};
\end{axis}
\end{tikzpicture}
\end{document}

Esempio 2: Grafico a Barre – Creare un grafico a barre è altrettanto semplice. Puoi rappresentare due serie di dati con il codice seguente:

\begin{tikzpicture}
\begin{axis}[
    ybar,
    ylabel={Valore},
    symbolic x coords={A, B, C},
    xtick=data,
    nodes near coords,
]
\addplot coordinates {(A,40) (B,60) (C,80)};
\addplot coordinates {(A,20) (B,30) (C,50)};
\legend{Serie 1, Serie 2}
\end{axis}
\end{tikzpicture}

Esempio 3: Grafico a Dispersione – Un grafico a dispersione può essere utile per mostrare le relazioni tra due variabili. Ecco come puoi crearne uno:

\begin{tikzpicture}
\begin{axis}[
    xlabel={X},
    ylabel={Y},
]
\addplot[only marks] coordinates {
    (1,2) (3,4) (4,5) (5,9) (7,12)
};
\end{axis}
\end{tikzpicture}

Esempio 4: Grafico 3D – PGFPlots può anche gestire grafici 3D. Ecco un esempio di un grafico di superficie:

\begin{tikzpicture}
\begin{axis}
\addplot3[surf,] {x*y};
\end{axis}
\end{tikzpicture}

Esempio 5: Istogramma – Un istogramma può essere utilizzato per visualizzare la distribuzione dei dati. Ecco come puoi crearne uno:

\begin{tikzpicture}
\begin{axis}[
    ybar interval,
    xtick={0,10,...,100},
]
\addplot+ [hist={bins=10}] table [y index=0] {datafile.dat};
\end{axis}
\end{tikzpicture}

Nota: Nell’istogramma, i dati saranno suddivisi in intervalli (o “bin”) specificati nel codice LaTeX (ad esempio, bins=10 dividerà i dati in 10 intervalli). Le altezze delle barre dell’istogramma rappresenteranno la frequenza dei dati in ciascun intervallo. Puoi modificare il numero di intervalli o altri aspetti del grafico modificando le opzioni nel tuo codice LaTeX.

Esempio 6: Grafico delle Isolinee

\documentclass{article}
\usepackage{pgfplots}

\begin{document}

\begin{tikzpicture}
\begin{axis}[
    title={Grafico delle Isolinee},
    view={0}{90}, % Questo rende il grafico 2D
]
\addplot3[
    contour gnuplot={number=10},
    thick,
]
{sin(deg(sqrt(x^2 + y^2)))/sqrt(x^2 + y^2)};
\end{axis}
\end{tikzpicture}

\end{document}

Spiegazione:

  • view={0}{90} rende il grafico 2D mostrando solo il piano superiore.
  • contour gnuplot={number=10} indica che si desidera tracciare 10 isolinee. Puoi modificare questo numero per ottenere più o meno isolinee.
  • La funzione utilizzata in questo esempio è \(sin((\sqrt(x^2 + y^2)))/\sqrt(x^2 + y^2)\), ma puoi sostituirla con qualsiasi funzione che desideri rappresentare.

Nota: Questo esempio richiede Gnuplot per essere installato sul tuo sistema, poiché PGFPlots usa Gnuplot per calcolare le isolinee. Assicurati di compilare il tuo documento con l’opzione -shell-escape abilitata per consentire a LaTeX di chiamare Gnuplot.

Esempio 7:

\documentclass[tikz]{standalone}

\usepackage{pgfplots}
\usepackage{amsmath,amssymb,amsfonts}
\usepgfplotslibrary{fillbetween}

\begin{document}

  \begin{tikzpicture}

   \begin{axis}[
   		xmin=-3, xmax=3,
   		ymin=-10, ymax=10,
   		xtick distance=1, ytick distance=4 ]

      \addplot [domain=-2.5:2.5, samples=100, thick, color=red!50]
        {3*x^3 - x^2 - 10*x};

      \addplot [domain=-2.5:2.5, samples=100, thick, color=blue!50]
        {- x^2 + 2*x};

      \draw [dashed, opacity=0.4] (axis cs:{-2,0}) -- (axis cs:{-2,-8});

      \node[color=red, font=\footnotesize] at (axis cs: -1.6,7) {$f(x)=3x^3 - x^2 - 10x$};
      \node[color=blue, font=\footnotesize] at (axis cs: 1.1,2.2) {$g(x)=- x^2 + 2x$};

    \end{axis}

  \end{tikzpicture}

\end{document}

Questo esempio rappresenta graficamente due funzioni, \(f(x)=3x^3−x^2−10x\) e \(g(x)=−x^2+2x\), mettendo in evidenza la robustezza e la precisione di PGFPlots nel rendere funzioni matematiche complesse.


Questo articolo dimostra la versatilità di PGFPlots nel creare vari tipi di grafici direttamente all’interno dei documenti LaTeX. Le possibilità sono numerose e limitate solo dalla tua immaginazione e comprensione del pacchetto. Puoi trovare ulteriori dettagli e opzioni di personalizzazione nel manuale di PGFPlots.

{ 0 comments… add one }

Rispondi