Liverpool” post=73106
Per fare il primo grafico ho usato il codice che ho trovato sulla nuova guida della serie de “L’arte di…” cambiando solo il colore della curva in [tt]red[/tt]
Se il tuo obiettivo era quello di mostrare che con gnuplot si possono ottenere più o meno gli stessi risultati siamo d’accordo. Non so però quanto sia facile incorporare il grafico in LaTeX. Anch’io penso che gnuplot sia un ottimo strumento, ma trovo un punto a favore il fatto che pgfplots lavori direttamente all’interno del sorgente del documento. In tanti anni sono stato più volte tentato da gnuplot, ma non mi sono mai cimentato perché a quel punto ritenevo più semplice realizzare i grafici con un software esterno e incorporarli; mentre pgfplots è diverso perché tu scrivi tutto insieme.
Se invece lo scopo era il confronto dei risultati, dovremmo sapere anche in che condizioni sono stati generati i grafici. Per esempio, se ho capito bene tu hai detto che gnuplot usa 100 campioni per default, mentre nel grafico dell’articolo samples è 50 e la schiacciatura è senz’altro dovuta all’utilizzo delle curve di Bézier. Se aggiungi i marcatori scopri che laddove la curva si “schiaccia” ci sono proprio i nodi e l’algoritmo deve collegare un tratto molto curvo con uno praticamente dritto. Tra l’altro, @OldClaudio ha già fatto notare che l’algoritmo di interpolazione è piuttosto debole.
Ciao
No, no, lo scopo era far vedere che i risultati “estetici” sono molto simili, infatti ansys ha dovuto controllare il colore dei tick per notare la differenza. Lo script gnuplot che ho utilizzato ha un numero di samples più elevato (se non sbaglio avevo impostato 500) e non ha smoothing, credo che alla fine si otterrebbe lo stesso risultato con pgfplots. Preferisco aumentare il numero di samples piuttosto che usare lo smoothing e fare questo con gnuplot è indolore.
Riconosco che non sia immediato aggiungere grafici gnuplot in un documento LaTeX, almeno non come è possibile fare con pgfplots: devi scrivere lo script, eseguire gnuplot sullo script, includere con [tt]\input{file-di-output}[/tt] il file .tex generato dallo script (gnuplot produce due file: la figura vera e propria e un file .tex contenente tutte le scritte e che include la figura, il .tex è quello che viene incluso nel proprio documento, è grazie a questo che si hanno gli stessi font del proprio documento). Per documenti elaborati mi scrivo sempre un Makefile (in realtà riciclo sempre lo stesso con minimi cambiamenti) che mi automatizza tutte le operazioni che portano alla compilazione del documento finale, fra le quali l’esecuzione di gnuplot sullo script (cosa peraltro necessaria solo quando cambio lo script), quindi le operazioni realmente da fare sono (a) scrivere il codice, (b) includere la figura nel sorgente LaTeX scrivendo una brevissima riga. Tutto sommato non cambia molto rispetto a lavorare con pgfplots, a parte il fatto che usando gnuplot dimezzo i tempi di compilazione.
Mi ero avvicinato a pgfplots proprio per provare a eliminare tutti i passaggi intermedi di cui ho parlato (così come ho utilizzato TikZ per fare i disegni che prima realizzavo, con un po’ di difficoltà a essere sinceri, con gnuplot). Tra l’altro pgfplots permette di scrivere uno script gnuplot direttamente dentro il codice LaTeX e inizialmente apprezzavo molto questa possibilità, poi mi son reso conto che è piuttosto macchinoso perché con un singolo script gnuplot si possono realizzare infiniti grafici tutti con le stesse impostazioni (o anche diverse, però lo script è uno solo), con pgfplots bisogna creare un ambiente axis per disegnare ciascun grafico (riscrivendo sempre lo stesso “preambolo” gnuplot).
A parte il grande vantaggio di lavorare direttamente dentro il sorgente LaTeX ho incontrato più contro che pro nel lavorare con pgfplots, quindi son tornato indietro. Ciò non toglie che per pochi semplici grafici penso che possa andare più che bene pgfplots.