- Questo topic ha 15 risposte, 4 partecipanti ed è stato aggiornato l'ultima volta 11 anni, 9 mesi fa da
Liverpool.
-
CreatoreTopic
-
24 Novembre 2014 alle 15:03 #98633::
Ciao a tutti,
sto facendo un grafico in latex e ho un problema. Nonostante l’opzione:
`yticklabel style={/pgf/number format/fixed}`
il grafico presenta la notazione scientifica sull’asse y (vedi figura), cosa che vorrei eliminare. Cosa potrei sbagliare?[attachment=1185]notazione.png[/attachment]
Attachments:
You must be logged in to view attached files. -
CreatoreTopic
-
AutoreRisposte
-
-
24 Novembre 2014 alle 15:52 #98634::
Bonalumi” post=98164Ciao a tutti,
sto facendo un grafico in latex e ho un problema. Nonostante l’opzione:
`yticklabel style={/pgf/number format/fixed}`
il grafico presenta la notazione scientifica sull’asse y (vedi figura), cosa che vorrei eliminare. Cosa potrei sbagliare?[attachment=1185]notazione.png[/attachment]
Esempio minimo?
Ciao
Claudio
-
24 Novembre 2014 alle 15:59 #98635::
Questo è il mio codice per il grafico in questione:
`\begin{tikzpicture}
\begin{axis}[%
width=4.52281008599329in,
height=3.56718408395278in,
scale only axis,
xmin=0,
xmax=60,
xlabel={Regime di rotazione $\left[ Hz \right]$},
xticklabel style={/pgf/number format/fixed},
xmajorgrids,
ymin=0.000,
ymax=0.014,
ylabel={Portata $\left[ kg s^{-1} \right]$},
yticklabel style={/pgf/number format/fixed},
%yticklabel style={/pgf/number format/.cd,fixed,fixed zerofill,precision=3,/tikz/.cd},
ymajorgrids,
legend entries={\textit{No Flusso},$Ma = 0.2$,$Ma = 0.4$},
legend style={at={(1,0)},anchor=south east},
cycle list name=black white
]
\addplot+ [
color=black,
dashed,
mark=x]
table [x index=0,y index=1,col sep=comma] {\plotpath/csv/curva_caratteristica_ventilatore_centrifugo_multistadio.csv};
\addplot+ [
color=black,
solid,
mark=*,
mark options={scale=1,fill=gray,draw=black}]
table [x index=2,y index=3,col sep=comma] {\plotpath/csv/curva_caratteristica_ventilatore_centrifugo_multistadio.csv};
\addplot+ [
color=black,
solid,
mark=square*,
mark options={scale=1,fill=gray,draw=black}]
table [x index=4,y index=5,col sep=comma] {\plotpath/csv/curva_caratteristica_ventilatore_centrifugo_multistadio.csv};
\end{axis}
\end{tikzpicture}`
Il risultato che vorrei ottenere è quello di avere sull’asse y i numeri che vanno da 0.000 a 0.014 al posto della notazione scientifica.Ovviamente accetto qualunque consiglio che possa portare migliorie al mio codice, anche non inerenti a questo problema.
-
24 Novembre 2014 alle 16:07 #98636::
Io non mi preoccuperai tanto per il 10^{-2} in testa all’asse y, quanto per le unità usate e scritte.
1) Invece di riportare i dati in kg/s portali in g/s e toglierai fattore 10^{-2} e sposterai il punto decimale di una posizione a destra, quindi non hai nemmeno l’impiccio del separatore decimale, che sarebbe anche sbagliato sbagliato. Le norme ISO richiederebbero di non scrivere mai dei valori numerici per le misure con degli zeri dopo il separatore decimale; i prefissi decimali aiutano non poco per soddisfare questa prescrizione e usando i grammi al secondo la soddisfi alla grande.
2) In italiano e per tutte le lingue diverse dall’inglese le norme ISO impongono la virgola, lasciando il punto solo per quando si scrive in inglese; se usi siunitx questo problema lo puoi risolvere in modo automatico, ma devi leggere bene la documentazione sia di siunitx sia di tikz.
3) Le unità di misura non si indicano mai fra parentesi quadre; le norme UNI consigliano di non metterle nemmeno fra parentesi tonde ma di scrivere qualcosa come “Portata in kg/s”
4) È assolutamente vietato scrivere le unità di misura in corsivo; sempre le norme ISO e per noi italiani le norme UNI. Se sui siunitx non dovresti avere problemi perché i comandi di quel pacchetto mettono sempre le unità di misura nel font giusto.
-
24 Novembre 2014 alle 16:36 #98637::
Ti ringrazio per i suggerimenti OldClaudio. Ora il codice è così:
`\begin{tikzpicture}
\begin{axis}[%
width=4.52281008599329in,
height=3.56718408395278in,
scale only axis,
xmin=0,
xmax=60,
xlabel={Regime di rotazione in Hz},
xticklabel style={/pgf/number format/fixed},
xmajorgrids,
ymin=0,
ymax=14,
ylabel={Portata in g/s},
yticklabel style={/pgf/number format/fixed},
%yticklabel style={/pgf/number format/.cd,fixed,fixed zerofill,precision=3,/tikz/.cd},
ymajorgrids,
legend entries={\textit{No Flusso},$Ma = 0.2$,$Ma = 0.4$},
legend style={at={(1,0)},anchor=south east},
cycle list name=black white
]
\addplot+ [
color=black,
dashed,
mark=x]
table [x index=0,y index=1,col sep=comma] {\plotpath/csv/curva_caratteristica_ventilatore_centrifugo_multistadio.csv};
\addplot+ [
color=black,
solid,
mark=*,
mark options={scale=1,fill=gray,draw=black}]
table [x index=2,y index=3,col sep=comma] {\plotpath/csv/curva_caratteristica_ventilatore_centrifugo_multistadio.csv};
\addplot+ [
color=black,
solid,
mark=square*,
mark options={scale=1,fill=gray,draw=black}]
table [x index=4,y index=5,col sep=comma] {\plotpath/csv/curva_caratteristica_ventilatore_centrifugo_multistadio.csv};
\end{axis}
\end{tikzpicture}`
mentre nel preambolo ho introdotto la seguente opzione per il pacchetto siunitx:
`\sisetup{output-decimal-marker={,}}`
la quale dovrebbe essere quella che attiva la virgola come separatore decimale, giusto?Non riesco però a capire come scrivere correttamente la legenda, in modo da non utilizzare il punto come separatore decimale. Se uso la virgoa infatti ottengo un errore nella compilazione.
Con questa soluzione inoltre ho risolto il problema della notazione scientifica con uno stratagemma. Se avessi voluto evitare di impiegarla senza cambiare unità di misura ci sarebbe stato modo? Oppure la soluzione migliore resta quella di cambiare l’unità di misura dei dati? Perchè a quanto so generalmente è meglio esprimere i dati con l’unità di misura definita dal sistema internazionale che, ad esempio per la portata, sarebbe kg/s.
-
24 Novembre 2014 alle 17:23 #98638
-
24 Novembre 2014 alle 18:38 #98639
-
24 Novembre 2014 alle 21:22 #98640::
Comprare le norme è estremamente costoso; se non le puoi consultare in qualche modo da qualcuno o qualche ente che le ha, allora ti consiglio di scaricare dal sito del NIST il documento sp811.pdf intitolato Guide for the use of the International System of Units (SI).Il NIST è il National Institute of Standards and Technology degli USA. Il documento è molto autorevole, anche se è un tutorial per insegnare ai dipendenti dell’istituto ad usare correttamente il SI anche nel mondo angloamericano; Naturalmente certe norme, come il punto decimale e il plurale delle unità di misura secondo le regole della lingua inglese non sono applicabili a noi, ma su 90 pagine di testo, ce ne è meno di una in totale per questi dettagli anglo.
Proprio perché è un tutorial, spiega nel dettaglio l’uso corretto e l’ortografia corretta come quella che mi chiaedi: meglio kg/s o kgs-1? vedrai che entrambe sono corrette, ma gli esponenti negativi sono preferibili se bisogna elevare diverse unità a potenze negative diverse, altrimenti se i divisori sono uno solo è preferibile la barra. ma se si usa la barra e i divisori sono più d’uno, bisogna usare le parentesi ed usare una sola barra, ma se comunque si vuole usare l’esponente negativo ci vuole un spazio sottile non separabile oppure un punto centrato (vedi per esempio la tabella 3 del documento suddetto) prima dell’unità elevata ad un esponente negativo; per la tua domanda guarda in particolare il §6.1.6; non te lo posso mostrare con il browser, ma in termini LaTeX devi intercalare il comando \, (barra rovescia + virgola), così: [tt]kg\,s\ap{-1}[/tt] (\ap, con l’opzione italian per babel mette un apice sia in modo testo sia in modo matematico;\ped mette un pedice in carattere tondo sia in modo testo sia in modo matematico).
Se usi siunitx i suoi comandi provvedono a tutto in modo automatico e non devi ricorrere ad \ap. Il pacchetto siunitx è fatto apposta per rispettare le norme ISO: siunitx –> SI unit(s) eXtended.
-
25 Novembre 2014 alle 9:22 #98641::
Ti ringrazio per la dettagliata spiegazione OldClaudio. Scaricherò il odcumento che mi hai suggerito allora. Solo una domanda: la scrittura che hai suggerito tu (kg\,s\ap{-1}) e quella di siunitx che riporto di seguito:
`\SI{}{\gram\per\second}`
danno quindi gli stessi risultati? Voglio dire, non mi è chiaro se siunitx inserisca automaticamente lo spazio di cui parlavi oppure no. Mi pare di aver capito di si da quanto hai scritto, ma vorrei la tua conferma. Grazie ancora!
-
25 Novembre 2014 alle 10:47 #98642::
Bonalumi” post=98182Ti ringrazio per la dettagliata spiegazione OldClaudio. Scaricherò il odcumento che mi hai suggerito allora. Solo una domanda: la scrittura che hai suggerito tu (kg\,s\ap{-1}) e quella di siunitx che riporto di seguito:
`\SI{}{\gram\per\second}`
danno quindi gli stessi risultati? Voglio dire, non mi è chiaro se siunitx inserisca automaticamente lo spazio di cui parlavi oppure no. Mi pare di aver capito di si da quanto hai scritto, ma vorrei la tua conferma. Grazie ancora!siunitx può usare il comando \per in modi diversi; guarda nella pagina 5 gli esempio e in particolare come cambiano quando specifichi l’opzione [tt] [per-mode=symbol] [/tt]. In ogni caso se mette l’esponente negativo mette lo spazietto, se invece mette la barra non mette lo spazietto, ma nel caso di più denominatori, quindi più istanze di \per, raccoglie i denominatori e li mette dentro una coppia di parentesi. Il tutto è molto facile e intuitivo, anche se non si deve andare a tentoni, ma bisogna leggere la documentazione di siunitx, poi il tuto viene in modo automatico.
-
4 Dicembre 2014 alle 15:21 #98643::
Riprendo in mano questa discussione per porvi una domanda analoga. Se ritenete sia il caso che apra una nuova discussione ditemelo e lo farò.Ho qualche problema con gli assi della figura allegata, in particolare con l’asse y. Questo è il mio codice:
`\begin{tikzpicture}
\begin{axis}[%
width=4.52281008599329in,
height=3.56718408395278in,
scale only axis,
xmin=0,
xmax=1,
xlabel={$\text{y/s}$},
xticklabel style={/pgf/number format/fixed},
xmajorgrids,
ymin=0.950,
ymax=0.990,
ylabel={$P_{t2} (bar)$},
yticklabel style={/pgf/number format/fixed},%, precision=3},
ymajorgrids,
legend entries={$Ma = 0.2$,$Ma = 0.4$},
legend style={at={(1,0)},anchor=south east}
]
\addplot+ [
color=black,
solid,
mark=*,
mark options={scale=1,fill=gray,draw=black},
mark repeat={1}]
table [x index=0,y index=1,col sep=comma] {\plotpath/csv/scia_pala_solida.csv};
\addplot+ [
color=black,
solid,
mark=square*,
mark options={scale=1,fill=gray,draw=black},
mark repeat={1}]
table [x index=2,y index=3,col sep=comma] {\plotpath/csv/scia_pala_solida.csv};
\end{axis}
\end{tikzpicture}`
Perchè la numerazione non è corretta? Ho provato anche ad attivare l’opzione precision, che qui compare commentata, ma in quel caso ottengo un errore in fasi di compilazione.
[attachment=1197]scia.jpg[/attachment]
Attachments:
You must be logged in to view attached files. -
4 Dicembre 2014 alle 15:46 #98644
-
4 Dicembre 2014 alle 16:08 #98645
-
4 Dicembre 2014 alle 16:11 #98646::
Bonalumi” post=98474In teoria precision dovrebbe indicare i decimali, non ne sono sicuro al 100%, ma solitamente è sempre così. Ma comunque se uso precision ottengo un errore, dubito che cambiando il valore la cosa si risolva.
Non devi usare [tt]precision=3[/tt] ma [tt]/pgf/number format/precision=3[/tt].
Comunque sarebbe stato più indicato aprire un altro filone e inserire un esempio compilabile.
-
4 Dicembre 2014 alle 16:22 #98647::
Ti ringrazio per il suggerimento e anche per quanto riguarda l’aprire un nuovo post. La prossima volta farò così.
Tornando al mio problema se uso format/precision=3 il problema si risolve ma i numeri compaiono in 2 formati diversi:
– 0,98
– 0,985
L’opzione fixed a quanto so consente di avere un formato unico. Non c’è modo di usare entrambe?
-
4 Dicembre 2014 alle 16:28 #98648
-
-
AutoreRisposte
- Devi essere connesso per rispondere a questo topic.