Grafico da Excel (TexMaker)

  • Creatore
    Topic
  • #107059
    Up
    0
    Down
    ::


    Salve a tutti!
    Questo è il mio primo messaggio sul vostro forum! Ho bisogno del vostro aiuto per realizzare dei grafici da mettere nella tesi. Piccola precisazione: dovrei realizzare un grafico per punti (2000 valori) che adesso ho su un foglio Excel; ho provato sia a graficare con Excel e screennare (non un granchè) sia stampare in .pdf e poi importarlo… in ogni caso l’immagine non era molto nitida.
    Guardando qualche guida sui grafici mi è venuta in mente un’idea ma non so se si possa fare: posso dire a LaTex ” sull’asse y vai a predere i valori che sono nel file helpme.xls dalla casella A1 alla A2000″ evitando di importare un milione di valori sull’editor di testo? Questo perchè la formattazione dei grafici LaTex è molto più professionale rispetto ad Excel.
    Se questo non è possibile per favore datemi qualche altra idea! I grafici sono molto importanti per la tesi!:| 😐
    Grazie in anticipo!!!:-) 🙂 🙂

Visualizzazione 5 filoni di risposte
  • Autore
    Risposte
    • #107060
      Up
      0
      Down
      ::

      Faber90″ post=107124(…) posso dire a LaTex ” sull’asse y vai a predere i valori che sono nel file helpme.xls dalla casella A1 alla A2000″ evitando di importare un milione di valori sull’editor di testo? (…)

      Premetto che non sono un esperto in questo genere di cose e che quindi sarà meglio che tu attenda la risposta di qualcuno più informato di me, ma posso già assicurarti che sì, la cosa è fattibilissima (figuriamoci… 😎 )!

      In linea generale (ma, ripeto, aspetta che arrivino informazioni più puntuali) puoi procedere così:

      1. salva il tuo fogilio elettronico in formato CSV, in modo che LaTeX possa leggerlo;
      2. usa, per esempio, i pacchetti datatool e dataplot, dei quali puoi leggere la documentazione digitando`texdoc datatool`sulla linea di comando.

      Ciao.


      Gustavo
      a

    • #107061
      Up
      0
      Down
      ::


      Grazie mille Gustavo! Ho cominciato a leggere un pochino di documentazione ma è una roba infinita!! Spero che qualcuno abbia già affrontato la questione!

    • #107062
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Certo con Latex e pgfplots si possono fare cose bellissime, ma bisogna leggere la documentazione di pgfplots (da terminale:texdoco pgfplots, solo che il programma è potentissimo e i diagrammi sono con caratteristiche assai diverse che formano una collezione enorme di stili, quindi la documentazione è molto abbondante.
        Tuttavia mi stupisco che tu non riesca ad ottenere il diagramma creato con Excell in forma decente; io l’ho fatto per molti documenti, e in particolare ne parlo nella Guida GuIT (liberamente scaricabile dalla sezione Documentazione di questo sito) e ne parlo alla fine del paragrafo 10.2, proprio per mostrare al differenza che si ottiene da Excell se si salva il diagramma in unn file in formato PNG, oppure in formato PDF, cosa che Excel può fare benissimo. Non è la stessa cosa salvare il diagramma in un file PNG e poi convertirlo in formato PDF con un qualunque editor di immagine (oppure sul Mac mediante le funzionalità del programma nativo del suo sistema operativo Anteprima o Preview), perché il file PNG non contiene abbastanza informazione per generare un disegno dai contorni nitidi.
        Vedi anche il secondo capoverso del paragrafo 23.2 nella pagina 515.

        L’unico difetto che hanno i diagrammi realizzati con Excel, non è la loro definizione grafica, ma il fatto che vi compaiano font diversi da quelli del testo, e sia praticamente impossibile convincere Excell ad usare i font del documento.
        Poi esisterebbe la strada del programma Inkscape (gratuito e disponibile in rete per tutti e tre i sistemi operativi principali); puoi estrarre da Excell in formato PDF il soolo diagramma senza nessuna scritta, lo importi in Inkscape e con questo programma di immetti le varie scritte accanto agli assi, chiedendo poi di esportare il risultato finale in formato LaTeX; Inkscape genera due file, uno in formato >tex e uno in formato vettoriale, importando i quali come specificato nelal documentazione di Inkscape, al diagramma vettoriale viene sovrappost, composto da LaTeX l’insieme delle scritte collocate in posizione con grande precisione.

        La strada maestra resta pur sempre quella di pgfplots.

        Commento Off Topic; un diagramma con 2000 ascisse e altrettante ordinate per ciascuna curva presente nel diagramma è una cosa che “non si fa”, anche se pgfplots la può fare; fatti due conti sulle dita sulla carta puoi tracciare facilmente diagrammi con 300 pixel al pollice, qualcosa come 300 pixel ogni 25.4mm; fatti i conti ogni millimetro di diagramma conterrebbe circa 12 pixel; ma le tue 2000 ascisse andrebbero distribuite al massimo su una giustezza di circa 120mm, dunque al massimo 1440 pixel e questi sono meno di 2000. Sullo schermo, uno molto buono puoi arrivare a 100 o 110 pixel al pollice, su uno schermo “normale” è normale avere una densità di pixel di 72 pixel al pollice; quindi se presenti a schermo il tuo documento in scala 1:1 con quello che stamperesti, avresti al disponibilità di un terzo o meno di pixel totali da presentare nella schermata; quindi non più di circa 480 pixel; addio alle tue 2000 ascisse. Ovviamante la cosa dipende molto dal tipo di disegno che vuoi presentare; uno scatter diagragram può contenere anche alcune decine di migliaia di punti, a riportandoli tutti ti viene sostanzialmente una grossa macchia colorata al centro del disegno e la rappresentazione grafica non rappresenterebbe niente di buono.

        Ricorda, comunque che pgfplots con l’opzione smooth usa al meglio che può le curve di Bézier; con l’aiuto del pacchetto hobby, le presenta molto bene e necessita di meno punti; in sostanza con le curve di Bezier il disegno eseguito con pgfplots può venire benissimo con una cinquantina di punti — dipende dal tipo di curva, ovviamente; quell’insieme di ascisse che vuoi rappresentare sono graficamente troppe; probabilmente decimandole, cioè prendendo un punto ogni 10, le tue curve verrebbero molto belle lo stesso, specialmente se usi oltre a pgfplots anche hobby.

      • #107063
        Up
        0
        Down
        ::

        Faber90″ post=107124Salve a tutti!
        Questo è il mio primo messaggio sul vostro forum! Ho bisogno del vostro aiuto per realizzare dei grafici da mettere nella tesi. Piccola precisazione: dovrei realizzare un grafico per punti (2000 valori) che adesso ho su un foglio Excel; ho provato sia a graficare con Excel e screennare (non un granchè) sia stampare in .pdf e poi importarlo… in ogni caso l’immagine non era molto nitida.
        Guardando qualche guida sui grafici mi è venuta in mente un’idea ma non so se si possa fare: posso dire a LaTex ” sull’asse y vai a predere i valori che sono nel file helpme.xls dalla casella A1 alla A2000″ evitando di importare un milione di valori sull’editor di testo? Questo perchè la formattazione dei grafici LaTex è molto più professionale rispetto ad Excel.
        Se questo non è possibile per favore datemi qualche altra idea! I grafici sono molto importanti per la tesi!:| 😐
        Grazie in anticipo!!!:-) 🙂 🙂

        No, non esiste nessun metodo per indicare il range di valori (almeno che io conosca, ma ammetto che non ho spulciato tutte le novità delle ultime versioni di pgfplots). Avendo collaboratori che lavorano su excel, io ho risolto così:
        – creo un foglio nuovo copiando le colonne che mi interessano e con il range di valori che mi interessano
        – esporto in .csv
        – leggo con pgfplots quel file `\addplot+[no marks, very thick] table[col sep=semicolon,x={COLONNA X},y={COLONNA Y},/pgf/number format/read comma as period]{file.csv};` Devi stare attento a inserire le intestazioni di colonna (puoi cambiare le etichette che sono fittizie. Devi anche stare attento a quale è il separatore di colonna (tipicamente il ; ma dipende come esporti il file) e devi stare attento che Excel ha quella fantastica abitudine di usare la virgola e non il punto per i numeri decimali, da qui la necessità dell’opzione [tt]/pgf/number format/read comma as period[/tt].

        Con questo metodo non ci si impiega più di 5 minuti 😉

        Ciao
        Claudio

      • #107064
        Up
        0
        Down
        ::


        Grazie per la risposta; sto cominciando a capire quello che intendi solo che la tua stringa mi da un messaggio di errore che non riesco a capire:

        \addplot+[no marks, very thick] table[col sep=semicolon,x={COLONNA X},y={COLONNA Y},/pgf/number format/read comma as period]{file.csv};

        quando scrivi COLONNA X/Y, cosa devo scrivere per fare capire a Latex colonna A o B del file che voglio io? Ho visto poi che compare nella stringa “semicolon” ma nel mio caso ho delle virgole; per capirci vorrei fare il grafico a partire dal csv dove nella colonna A ci sono le ascisse e nella B ci sono le ordinate:
        A B
        1 2,5
        2 2,496706321
        3 2,493414435
        4 2,490124341
        … …
        Pensavo di utilizzare un grafico per punti del genere

        \begin{tikzpicture}
        \begin{axis}
        \addplot+[no marks, very thick] coordinates{(1,1)(2,5)};
        \end{axis}
        \end{tikzpicture}

        dove al posto delle coordinate (1,1) (2,5) devono esserci le coppie dei valori del csv

        Scusate ma nella parte grafici sono un po’ carente me ne rendo conto 🙁 🙁

      • #107065
        Up
        0
        Down
        ::

        Faber90″ post=107138Grazie per la risposta; sto cominciando a capire quello che intendi solo che la tua stringa mi da un messaggio di errore che non riesco a capire:

        \addplot+[no marks, very thick] table[col sep=semicolon,x={COLONNA X},y={COLONNA Y},/pgf/number format/read comma as period]{file.csv};

        quando scrivi COLONNA X/Y, cosa devo scrivere per fare capire a Latex colonna A o B del file che voglio io? Ho visto poi che compare nella stringa “semicolon” ma nel mio caso ho delle virgole; per capirci vorrei fare il grafico a partire dal csv dove nella colonna A ci sono le ascisse e nella B ci sono le ordinate:
        A B
        1 2,5
        2 2,496706321
        3 2,493414435
        4 2,490124341
        … …
        Pensavo di utilizzare un grafico per punti del genere

        \begin{tikzpicture}
        \begin{axis}
        \addplot+[no marks, very thick] coordinates{(1,1)(2,5)};
        \end{axis}
        \end{tikzpicture}

        dove al posto delle coordinate (1,1) (2,5) devono esserci le coppie dei valori del csv

        Scusate ma nella parte grafici sono un po’ carente me ne rendo conto 🙁 🙁

        Al posto di x={COLONNA X} metti x=A e y={COLONNA Y} diventerà y=B. Togli l’opzione col sep: non avendo i ; come separatore non c’è problema. Se vuoi mettere le coordinate a mano liberissimo di farlo: con l’altro sistema si fa prima però 😉

        Come dico sempre: la carenza non è un problema. Il vero problema è non fare dei tentativi seguendo la documentazione: è così che si impara (beh, quanto meno io ho imparato così).

        Ciao
        Claudio

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

    Go to top