Cromatogrammi

  • Creatore
    Topic
  • #65663
    Up
    0
    Down
    ::


    Ciao a tutti,
    in un futuro prossimo, diciamo incombente, dovrò creare un documento con LaTeX (sempre sia lodato) con parecchi cromatogrammi.
    Per rendere l’idea di cosa si tratti allego una figura:
    Io partirò da file .txt contenenti i dati in formato x y, ovvero un lungo elenco strutturato su due colonne.
    Rispetto alla figura vorrei aggiungere un’etichetta, tipo i pin pgf con il componente corrispondente ad ogni picco.

    Sospetto che lo strumento migliore sia pgf ma volevo chiedere conferma a voi e, se fosse possibile, avere un piccolo esempio di come strutturare il codice.
    Grazie.

    PS: giusto per correttezza riporto la fonte della figura (è la prima tra le immagini proposte da Google inserendo “chromatograms”): Ultra Performance Liquid Chromatography: A Faster and Sensitive Method over HPLC , Kondawar Manish S., Patil Sandeep B. and Bhise Satish B. , link.

Visualizzazione 7 filoni di risposte
  • Autore
    Risposte
    • #65664
      franen
      Partecipante
        Up
        0
        Down
        ::


        Ciao,
        io questa primavera ho dato una mano alla morosa con la sua tesi. Lei aveva un sacco si spettri di uno spettrometro MALDI-TOF, ma la sostanza non cambia.
        La mia idea iniziale era di usare pgfplots, ma purtroppo non riusciva a gestire la mole di dati contenuti nei txt, anche provando a modificare i parametri (vedi la sezione 6 del manuale di pgfplots).
        La mia idea è questa: prova con pgfplots, riesci tranquillamente a inserire le etichette e mantieni facilmente la coerenza del font delle etichette degli assi con quella del documento.
        Se non riesci, io avevo usato un software esterno (Plot per MAC, secondo me il sw che dà il miglior risultato estetico, molto meglio di origin, qtiplot, scidavis, che ho provato, peccato non sia più aggiornato da anni) per fari i grafici e li avevo esportati in pdf, avendo cura di proporzionare bene il tutto in modo che la dimensione dei font delle etichette fosse quella che volevo io. Su windows, non saprei che consigliarti, forse giocando un po’ con qtiplot si ricava quacosa di bello.

        Per come strutturare il codice, guarda la sezione “reading data from files” della guida di pgfplots.

        Fran

      • #65665
        Up
        0
        Down
        ::


        Io userei root del cern.

      • #65666
        robitex
        Amministratore del forum
          Up
          0
          Down
          ::

          zippo” post=64767Io userei root del cern.

          Niente male…
          ho notato che root può essere utilizzato anche tramite Python.
          Una domanda: TeX è supportato?

          Quanto ai grafici dei cromatogrammi, direi che pgfplots potrebbe essere la soluzione migliore, magari utilizzato opportunamente.
          Naturalmente non so come sono prodotti i dati da plottare di questi grafici e quindi pgfplots potrebbe non essere in grado di gestirli direttamente, ma il pacchetto ofrre notevoli vantaggi in termini di semplicità d’uso e qualità tipografica (che è quasi troppa).

          Se in futuro mi servisse, terrò ben conto di root. Grazie.

        • #65667
          Up
          0
          Down
          ::


          Uhm root non lo conosco ma mi documenterò.
          Ho dato un’occhiata ai file, si tratta di circa 900 righe con due colonne x-y, dove x è il tempo ed y l’intensità del segnale registrato dal rivelatore.
          Appena li esporto faccio una prova con pgfplots e se i dati fossero troppo numerosi provo a far generare il tracciato a gnuplot con il terminale lua-tikz ed aggiungere le etichette a mano con i pin di pgf (con i quali non ho assolutamente esperienza).
          Vi farò sapere 😉 .

          Grazie mille.

        • #65668
          robitex
          Amministratore del forum
            Up
            0
            Down
            ::

            peppo” post=64773Uhm root non lo conosco ma mi documenterò.
            Ho dato un’occhiata ai file, si tratta di circa 900 righe con due colonne x-y, dove x è il tempo ed y l’intensità del segnale registrato dal rivelatore.
            Appena li esporto faccio una prova con pgfplots e se i dati fossero troppo numerosi provo a far generare il tracciato a gnuplot con il terminale lua-tikz ed aggiungere le etichette a mano con i pin di pgf (con i quali non ho assolutamente esperienza).
            Vi farò sapere 😉 .

            Grazie mille.

            Uhm 900 punti non danno problemi a pgfplots (ne sono sicuro a meno che i dati numerici siano espressi con molti decimali).
            Puoi anche creare più grafici alla volta e caricare direttamente il file dati dando al comando \addplot il nome del file per la direttiva file.
            Il formato di riga credo però che accetti solo caratteri spazio o di tabulazione come separatore tra i numeri, ma dovrei controllare se è correttamente gestito anche il carattere trattino.
            Per le etichette dovresti leggere il nostro articolo su ArsTeXnica (la rivista del GuIT) n. 12 molto ricco di dettagli e strategie.
            Happy plotting!
            R.

          • #65669
            Up
            0
            Down
            ::


            Ciao, ho provato con un codice del genere:
            Preambolo
            `\documentclass[10pt,oneside]{scrartcl}
            \usepackage[T1]{fontenc}
            \usepackage[utf8]{inputenc}
            \usepackage[italian]{babel}
            \usepackage{scrpage2}
            \usepackage{mathpazo}
            \usepackage[font=small,format=hang,labelfont={sf,bf}]{caption}
            \usepackage[version=3,arrows=pgf]{mhchem}
            \usepackage{siunitx}
            \usepackage{amsmath,amssymb,amsthm}
            \usepackage{textcomp}
            \usepackage{pgfplots}
            \usepackage{gnuplot-lua-tikz}
            \usepackage{booktabs}
            \usepackage{icomma}
            \usepackage{textcomp}
            \usepackage{microtype}
            \usepackage{hyperref}

            \pagestyle{scrheadings}

            \hypersetup{pdfauthor={Nome Cognome},colorlinks,
            linkcolor=black,%
            pdftitle={Relazione sulla speciazione del cromo}}
            \sisetup{separate-uncertainty, multi-part-units = single,%
            table-figures-uncertainty = 1,%
            table-number-alignment = center,%
            output-decimal-marker={,}}

            \renewcommand{\phi}{\varphi}
            \renewcommand{\theta}{\vartheta}

            \DeclareSIUnit\mMolar{m\textsc{m}}
            \DeclareSIUnit\ppm{ppm}
            \DeclareSIUnit\ppb{ppb}
            \DeclareSIUnit\ppt{ppt}
            \DeclareSIUnit\cps{cps}

            \pgfkeys{
            /pgf/number format/.cd,
            set decimal separator={,{\!}},
            set thousands separator={}}

            \mhchemoptions{arrows=pgf-filled}`

            Richiamo ad un file per la creazione del grafico:
            `\begin{figure}
            \input{Dati/Cromatogrammi/Cromospec}
            \caption{Prova.}
            \end{figure}`

            File per la creazione del grafico:
            `\begin{tikzpicture}
            \begin{axis}
            \addplot file {Cromospec.txt};
            \end{axis}
            \end{tikzpicture}`

            File di dati (sono 367 righe):
            `0.00 476.94
            0.03 504.63
            0.07 521.55
            … …
            `

            L’errore che mi viene restituito è
            `! Package pgfplots Error: sorry, plot file{Cromospec.txt} could not be opened.
            See the pgfplots package documentation for explanation.
            Type H for immediate help.

            l.3 \addplot file {Cromospec.txt};
            This error message was generated by an \errmessage
            command, so I can't give any explicit help.
            Pretend that you're Hercule Poirot: Examine all clues,
            and deduce the truth by order and method.`

            Scusate se ho messo molte informazioni inutili ma non so dove sbattere la testa, sapreste dirmi dove sta il problema?
            Grazie

          • #65670
            Up
            0
            Down
            ::


            Ok, credo di aver risolto, facevo fare un giro che pgfplots non riesce a gestire:
            nella cartella A avevo il file .tex principale che richiamava con input il file disegno.tex nella cartella B, sottocartella di A, che a sua volta si avvaleva dei dati di dati.dat nella cartella C, sottocartella di B e sottosottocartella di A.
            Ora ho messo i tre file nella cartella A e funziona, tuttavia, se dovessi inserire molti file con questo sistema, tale cartella diventerebbe disordinata e caotica, devo un po’ organizzarmi per benino.
            Grazie.

          • #65671
            Up
            0
            Down
            ::

            zippo” post=64767Io userei root del cern.

            [OT]

            Usare root con C++ non è affatto banale. La mia ragazza ha analizzato dati per la tesi e vi assicuro che è un bagno di sangue. Se non è veramente indispensabile sconsiglierei l’uso di ROOT.

            Senza contare che molte classi non sono documentate e uno deve aprirsi il codice per cercare di capire che cavolo fa…

            Nella sua versione python non lo conosco, anche se avevo visto tale opportunità.

            [/OT]

        Visualizzazione 7 filoni di risposte
        • Devi essere connesso per rispondere a questo topic.

        Go to top