- Questo topic ha 15 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 13 anni, 4 mesi fa da
l3on4rdo.
-
CreatoreTopic
-
6 Maggio 2013 alle 16:34 #85523::
Salve a tutti.
Sto cercando di fare alcune modifiche al comportamento di pgfplots, ma è davvero poco che lo uso e non ci riesco.Facendo riferimento a questo:
`
\begin{figure}
\centering
\begin{tikzpicture}
\begin{axis}[ticks=none, xmin=0, axis x line=bottom, axis y line=left]
\addplot[black] gnuplot {-x^2 + 4*x};
\end{axis}
\end{tikzpicture}
\end{figure}
`
che mi produce il risultato:[attachment=694]Schermata_2013-05-06.png[/attachment]
vorrei capire come:
1) spostare l’asse delle ascisse in modo che da avere il classico riferimento cartesiano con l’origine in (0,0),
2) come mettere un solo tick di tipo stringa (una lettera) nell’asse delle ascisse, in prossimità del massimo della funzione, che si ha per x=2,
3) come mettere, vicino alla freccia dei due assi, una lettera che indichi cosa c’è sull’asse.Al fine di ottenere una cosa del genere
[attachment=695]Schermata-1.png[/attachment]Vi ringrazio in anticipo.
Risolvendo questi due dubbi, posso proseguire a creare grafici con pgfplots e a farvi qualche altra domanda banale 🙂Ciao.
Attachments:
You must be logged in to view attached files. -
CreatoreTopic
-
AutoreRisposte
-
-
6 Maggio 2013 alle 17:12 #85524::
l3on4rdo” post=84984Salve a tutti.
Sto cercando di fare alcune modifiche al comportamento di pgfplots, ma è davvero poco che lo uso e non ci riesco.Facendo riferimento a questo:
`
\begin{figure}
\centering
\begin{tikzpicture}
\begin{axis}[ticks=none, xmin=0, axis x line=bottom, axis y line=left]
\addplot[black] gnuplot {-x^2 + 4*x};
\end{axis}
\end{tikzpicture}
\end{figure}
`
che mi produce il risultato:[attachment=694]Schermata_2013-05-06.png[/attachment]
vorrei capire come:
1) spostare l’asse delle ascisse in modo che da avere il classico riferimento cartesiano con l’origine in (0,0),
2) come mettere un solo tick di tipo stringa (una lettera) nell’asse delle ascisse, in prossimità del massimo della funzione, che si ha per x=2,
3) come mettere, vicino alla freccia dei due assi, una lettera che indichi cosa c’è sull’asse.Al fine di ottenere una cosa del genere
[attachment=695]Schermata-1.png[/attachment]Vi ringrazio in anticipo.
Risolvendo questi due dubbi, posso proseguire a creare grafici con pgfplots e a farvi qualche altra domanda banale 🙂Ciao.
Sono tutte cose che si trovano sulla documentazione:
1) [tt]axis y line=middle[/tt];
2) [tt]axis cs:[/tt];
3) [tt]xlabel[/tt] e [tt]ylabel[/tt].Cerca queste chiavi e leggi nel dettaglio come effettuare personalizzazioni: riuscirai senza dubbio a ricreare il grafico di esempio che hai inserito. 🙂
Ciao
Claudio
-
7 Maggio 2013 alle 4:54 #85525::
Il mio consiglio è di perdere un pomeriggio a leggere il capitolo dedicato a [tt]pgfplots[/tt] su L’Arte di scrivere con LaTeX, altrimenti continuerai a sentirti rispondere “leggi qua… leggi là”. E’ una breve guida che spiega le funzionalità più usate del pacchetto, perciò molte risposte le troverai già lì. Se poi avrai ancora difficoltà, saremo lieti di aiutarti come possibile.Permettimi di osservare che per una semplice parabola non è il caso di scomodare gnuplot, perché pgfplots può direttamente tracciare funzioni relativamente semplici. Anche questo si trova nel capitolo che ti ho consigliato di leggere.
Ciao
@cfiandra, al punto 2) @l3on4rdo vuole una sola tacca sull’asse x in corrispondenza del punto di massimo, perciò
`xtick=2, xticklabel=$l_c$`
dovrebbe andare bene.
-
7 Maggio 2013 alle 11:14 #85526::
Grazie per le dritte.
Penso di aver risolto in questo modo:
`
\begin{figure}
\centering
\begin{tikzpicture}
\begin{axis}[xlabel={$l$}, ylabel={$E\left(l\right)$}, xtick=2, xticklabel=$l_c$, ytick=6, xmin=0, xmax=5, ymin=-3, axis x line=middle, axis y line=middle, x=1.3cm, y=0.5cm]
\addplot[black] gnuplot {-x^2 + 4*x};
\end{axis}
\end{tikzpicture}
\caption{Energia di una goccia $l\times l$ per il modello di Ising}
\label{fig:energia-goccia-lxl-ising}
\end{figure}
`L’unico modo che ho trovato per eliminare i tick sulle ordinate è stato quello di specificare un tick fuori dal range.
Ci sono però dei comportamenti che proprio non capisco come gestire.
Per esempio, se io volessi gli assi più lunghi? Ora la lunghezza che mi “infastidisce” è quella delle ordinate, perché la parte negativa dell’asse arriva fino al minimo della funzione sul range delle x… e io invece vorrei fare un trattino “piccolo” dell’asse negativo.
Insomma… non è che sia di utilizzo immediato (vedi nota 🙂 ) questo pacchetto.p.s.:
Il mio consiglio è di perdere un pomeriggio a leggere il capitolo dedicato a pgfplots su L’Arte di scrivere con LaTeX, altrimenti continuerai a sentirti rispondere “leggi qua… leggi là”.
Hai perfettamente ragione. Al momento sto leggendo la documentazione di pgfplots (quella che si ottiene con texdoc per intenderci).
Non potendo stampare su carta le parti che devo approfondire, faccio fatica perché non sono molto portato alla lettura di mallopponi in pdf.
Idem per la guida. Avevo la versione precedente dell’Arte. Ora devo ristamparmela su carta… sennò proprio non riesco a leggere per bene 🙂p.p.s.:
anche relativamente all’uso di gnuplot, hai ragione 🙂
Stavo facendo delle prove per vedere la differenza dei grafici e poi non l’ho più tolto.
-
7 Maggio 2013 alle 11:19 #85527
-
7 Maggio 2013 alle 14:21 #85528::
l3on4rdo” post=85004L’unico modo che ho trovato per eliminare i tick sulle ordinate è stato quello di specificare un tick fuori dal range.
Usa invece [tt]ytick=\empty[/tt].
l3on4rdo” post=85004
Per esempio, se io volessi gli assi più lunghi? Ora la lunghezza che mi “infastidisce” è quella delle ordinate, perché la parte negativa dell’asse arriva fino al minimo della funzione sul range delle x… e io invece vorrei fare un trattino “piccolo” dell’asse negativo.
Insomma… non è che sia di utilizzo immediato (vedi nota 🙂 ) questo pacchetto.Ma secondo te a che servono [tt]xmin, xmax, ymin, ymax[/tt]? Se tu non definisci il dominio, viene assunto per difetto pari a \([-5,5]\). Tu hai chiesto di mostrare il disegno solo per x tra 0 e 5, quindi il minimo è y=-5. Hai detto [tt]ymin=-3[/tt] quindi è chiaro che una parte del grafico non la vedi.
Ciao
@robitex: Roberto scusa la mancanza. Ho suggerito l’Arte solo perché non è monotematica.
-
7 Maggio 2013 alle 15:39 #85529::
Liverpool” post=84991 @cfiandra, al punto 2) @l3on4rdo vuole una sola tacca sull’asse x in corrispondenza del punto di massimo, perciò
`xtick=2, xticklabel=$l_c$`
dovrebbe andare bene.Vero 🙂 Io avevo in mente, visto che è uno solo, di inserirlo a mano: `
\draw (axis cs:2,0)–++(0,-0.15) node[below]{$l_c$};
` Ovviamente ho usato valori indicativi, ma dovrebbe rendere l’idea.
@l3on4rdo: Non c’è bisogno che stampi su carta tutte le documentazioni 🙂 Prova in questo modo: mentre realizzi i tuoi esempi e ti blocchi pensa che al 90% esiste una chiave o un meccanismo per ottenere ciò che ti serve. Quindi guarda se con la funzione di ricerca del tuo pdf editor esiste un match con due o tre parole che rappresentano ciò che vorresti. Guarda, perciò, gli esempi in corrispondenza dei match trovati e considera che cliccando sulle chiavi in blu puoi sempre vedere come sono definite e cosa fanno. Secondo me così si fa prima.Nota: questo meccanismo NON vale per ogni pacchetto. TikZ o pgfplots hanno centinaia di pagine di documentazione perciò va benissimo fare così, ma in genere i pacchetti normali hanno una documentazione leggibile in poco tempo. Non voglio essere accusato di istigazione a “delinquere” (tradotta con: “la documentazione non si legge”) 😉 .
Ciao
Claudio
-
7 Maggio 2013 alle 17:05 #85530::
Usa invece ytick=\empty
😮
Grazie!!!
Hai voglia a provare con ytick=none 😆Ma secondo te a che servono xmin, xmax, ymin, ymax? Se tu non definisci il dominio, viene assunto per difetto pari a [−5,5]. Tu hai chiesto di mostrare il disegno solo per x tra 0 e 5, quindi il minimo è y=-5. Hai detto ymin=-3 quindi è chiaro che una parte del grafico non la vedi
Temo di essermi espresso male.
Cerco di chiarirmi, riportando solo i comportamenti relativi alle chiavi xmin, xmax e analoghe per y.1) Specificando solamente xmin=0, xmax=5, ottengo:
[attachment=698]Schermata_2013-05-07.png[/attachment]2) Specificando xmin=0, xmax=5, ymin=-3, l’asse y ovviamente si accorcia… ma il grafico anche non va più giù.
[attachment=700]Schermata-1_2013-05-07.png[/attachment]3) Quello che vorrei ottenere è una cosa (fatta al volo con GIMP) del tipo:
[attachment=699]comeVorrei.png[/attachment]Non c’è bisogno che stampi su carta tutte le documentazioni Prova in questo modo: mentre realizzi i tuoi esempi e ti blocchi pensa che al 90% esiste una chiave o un meccanismo per ottenere ciò che ti serve. Quindi guarda se con la funzione di ricerca del tuo pdf editor esiste un match con due o tre parole che rappresentano ciò che vorresti. Guarda, perciò, gli esempi in corrispondenza dei match trovati e considera che cliccando sulle chiavi in blu puoi sempre vedere come sono definite e cosa fanno. Secondo me così si fa prima.
Nota: questo meccanismo NON vale per ogni pacchetto. TikZ o pgfplots hanno centinaia di pagine di documentazione perciò va benissimo fare così, ma in genere i pacchetti normali hanno una documentazione leggibile in poco tempo. Non voglio essere accusato di istigazione a “delinquere” (tradotta con: “la documentazione non si legge”) .
Generalmente faccio proprio così: uso la funzione ricerca del lettore pdf e di norma risolvo.
Però, il supporto cartaceo mi è comunque utile. Nel senso che proprio non “fisso” le cose leggendo da pdf. Al momento ho stampato solo l’Arte, e altri tre manuali (di listing, subfig e un altro che non ricordo).
Per le guide voluminose, stampo una minima parte di quello relativo alle cose che mi servono… anche perché sennò disboscano l’amazzonia solo per me 🙂
Scherzi a parte, sono antico e (con molta attenzione) alcuni manuali me li sono dovuto stampare (che poi tra l’altro te li puoi portare in giro e leggerli anche nei momenti di “niente”).
Quella che devo ristampare è l’Arte. L’ho letta tutta perché non volevo usare un editor wysiwyg e infatti un sacco di cose le risolvo con quanto ho letto lì.
🙂
Attachments:
You must be logged in to view attached files. -
8 Maggio 2013 alle 5:06 #85531::
Allora devi usare [tt]clip=false[/tt] per dire al pacchetto di non tagliare quello che sporge dagli assi (però avrai bisogno di esplicitare il dominio della funzione tramite la chiave [tt]domain[/tt] per fare partire il grafico dall’origine):
`\documentclass{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[x=1.3cm, y=0.5cm, xmin=-0.38, xmax=5, ymin=-1, clip=false,
xlabel={$l$}, ylabel={$E\left(l\right)$}, ytick=\empty,
xtick=2, xticklabel=$l_c$, axis lines=middle]
\addplot [domain=0:4.8] gnuplot {-x^2 + 4*x};
\end{axis}
\end{tikzpicture}
\end{document}`
Nota che esiste anche la chiave [tt]axis lines[/tt].Ciao
[attachment=701]prova.png[/attachment]
Attachments:
You must be logged in to view attached files. -
8 Maggio 2013 alle 16:45 #85532
-
9 Maggio 2013 alle 12:39 #85533::
l3on4rdo” post=85047Provando questo tuo ultimo esempio, il pdf risultante ha un grafico completamente “sbroccato”.
Nel senso che neanche rispetta le indicazioni su dove metterlo ed è completamente differente al risultato finale che vorrei ottenere 🙂Non so che dirti. A me funziona correttamente (vedi immagine allegata), perciò penso che il problema sia altrove nel tuo documento.
Ciao
-
9 Maggio 2013 alle 16:01 #85534::
Guarda, a me viene una cosa sempre analoga a questo:[attachment=704]miaVersione.png[/attachment]
Non so cosa mostrarti per vedere se dipende dal mio documento.
A differenza di te, il mio documento è:
`\documentclass[11pt,a4paper,twoside,openright]{book}
`Così, a margine, anche per altre cose che non riesco a capire… dire che mi sto scoraggiando è davvero riduttivo 🙁
All’inizio, per la tesi, ho imparato a fare i grafici con gnuplot… e ora per via del font differente devo imparare ad usare questo pacchetto, ma lo trovo alquanto ostico.Per esempio, voglio plottare una serie di punti con l’errore (sulle y).
Beh, come provo a dirgli di non disegnare anche la linea… non mi mette più neanche le error bar.
Come gli dico di plottare solo each nth point… non mi mette più le error bar…
Attachments:
You must be logged in to view attached files. -
9 Maggio 2013 alle 16:14 #85535
-
9 Maggio 2013 alle 16:27 #85536::
Ho fatto il copia incolla del tuo codice.
La cosa che non capisco è che “sbrocca” solo se lo inserisco nel mio documento… mentre se compilo il tuo codice separatamente funziona bene!
Anche se alle brutte prendo l’immagine creata in questo secondo modo e la inserisco nel documento, per “cultura personale” vorrei capire da cosa possa dipendere questo malfunzionamento.
Ma non sono così esperto di LaTeX da potercela fare da solo (anche a capire che informazioni dovrei darvi).
-
10 Maggio 2013 alle 8:58 #85537
-
10 Maggio 2013 alle 18:09 #85538::
Continuava a prendere le informazioni dal file .gnuplot che aveva creato in una precedente compilazione!
Non ci ho proprio pensato.
Credo sia il caso di farmi un piccolo script che, ogni volta che compila, subito dopo mi cancella tutti i file temporanei.
Dici che è una buona idea?Grazie mille per il suggerimento azzeccatissimo 😉
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.