Questo tipo di grafico con gnuplot?

  • Creatore
    Topic
  • #31153
    Up
    0
    Down
    ::


    E’ possibile fare un grafico di questo tipo con gnuplot? Qualcuno potrebbe darmi una dritta su come fare?

    Grazie.


Visualizzazione 12 filoni di risposte
  • Autore
    Risposte
    • #31154
      Up
      0
      Down
      ::


      Qui c’è un esempio molto simile.

      Ciao
      Matteo

    • #31155
      Up
      0
      Down
      ::


      Peró come devo strutturare il file di dati per farlo leggere da gnuplot?

      “Stringa 1” 0.23 0.34
      “Stringa 2” 0.45 0.34
      “Stringa 3” 0.89 0.90

      Cosí funzionerebbe?

      O devo mettere le stringhe manualmente con xticks?

      Grazie.

    • #31156
      Up
      0
      Down
      ::


      questo è un estratto del file ctg-y2.dat, che dovrebbe essere nella cartella demo della tua installazione di gnuplot, in sostanza la prima colonna contiene le stringhe che usi come variabile x.

      `MONTH “precipitation 1992-2000”
      mai 61
      jun 57.7
      jul 61.7`

    • #31157
      Up
      0
      Down
      ::


      Grazie ora ho capito come fare. Sono un newbie di gnuplot.

      Un altra domanda: Come faccio a spostare le etichette in basso, affinchè la prima e la ultima etichetta e i valori non coincidano con il bordo del grafico, ma abbiano un rientro di TOT.

      Grazie.

    • #31158
      Up
      0
      Down
      ::


      Prova a cambiare il parametro offset di xtics (pag. 135 del manuale)

      Ciao
      Matteo

    • #31159
      Up
      0
      Down
      ::


      …no questo non È quello che cerco. Io vorrei spostare sia i valori che i label…o meglio voglio uno spazio tra la cornice esterna e il primo valore e ultimo valore.

      Spero di essere stato chiaro.

    • #31160
      Up
      0
      Down
      ::


      Se ho capito bene:
      set xrange [min-\epsilon:max+\epsilon]

      Ciao
      Matteo

    • #31161
      Up
      0
      Down
      ::

      Se ho capito bene:
      set xrange [min-\epsilon:max+\epsilon]

      Ciao
      Matteo

      A piccoli passi arrivo al finale grazie 🙂

      visto che le x sono dei Label nel mio caso, ho contato il numero dei label e ho scritto
      set xrange [-1:13], avendo 13 label…e ottengo il risultato che volevo.

      Ultima domanda per oggi.
      Non sono soddisfatto della resa dei pedici con il terminal png.
      Il pedice viene troppo distante dalla lettera! E’ normale?

      Questo sarebbe il risultato fino adesso.
      Qualche commento? Miglioria da fare?

      Grazie.[/url]

    • #31162
      Up
      0
      Down
      ::


      Quei pedici in effetti sono bruttini, in ogni caso per i grafici sono più adatti i formati vettoriali, (eps o pdf).
      Per l’inclusione in documenti scritti in LaTeX io preferisco usare il terminale epslatex che, a dispetto del nome, funziona benissimo anche con pdflatex convertendo l’eps creato da gnuplot in pdf. Con questo terminale tutte le parti testuali vengono gestite da LaTeX così hai la piena corrispondenza dei font e una perfetta composizione delle formule.

      Ciao
      Matteo

    • #31163
      Up
      0
      Down
      ::


      Grazie per i tuoi commenti. Ho provato con epslatex ma non riesco proprio a farlo andare.

      In gnuplot scrivo:
      `set terminal epslatex color
      set output 'gogo.tex'
      f(x)=4*x
      plot f(x)
      set title “ciao $x=f_d\cdot 5$”
      replot`

      Ottengo il file gogo.tex e gogo.eps

      `% GNUPLOT: LaTeX picture with Postscript
      \begingroup
      \makeatletter
      \providecommand\color[2][]{%
      \GenericError{(gnuplot) \space\space\space\@spaces}{%
      Package color not loaded in conjunction with
      terminal option `colourtext'%
      }{See the gnuplot documentation for explanation.%
      }{Either use 'blacktext' in gnuplot or load the package
      color.sty in LaTeX.}%
      \renewcommand\color[2][]{}%
      }%
      \providecommand\includegraphics[2][]{%
      \GenericError{(gnuplot) \space\space\space\@spaces}{%
      Package graphicx or graphics not loaded%
      }{See the gnuplot documentation for explanation.%
      }{The gnuplot epslatex terminal needs graphicx.sty or graphics.sty.}%
      \renewcommand\includegraphics[2][]{}%
      }%
      \providecommand\rotatebox[2]{#2}%
      \@ifundefined{ifGPcolor}{%
      \newif\ifGPcolor
      \GPcolortrue
      }{}%
      \@ifundefined{ifGPblacktext}{%
      \newif\ifGPblacktext
      \GPblacktexttrue
      }{}%
      % define a \g@addto@macro without @ in the name:
      \let\gplgaddtomacro\g@addto@macro
      % define empty templates for all commands taking text:
      \gdef\gplbacktext{}%
      \gdef\gplfronttext{}%
      \makeatother
      \ifGPblacktext
      % no textcolor at all
      \def\colorrgb#1{}%
      \def\colorgray#1{}%
      \else
      % gray or color?
      \ifGPcolor
      \def\colorrgb#1{\color[rgb]{#1}}%
      \def\colorgray#1{\color[gray]{#1}}%
      \expandafter\def\csname LTw\endcsname{\color{white}}%
      \expandafter\def\csname LTb\endcsname{\color{black}}%
      \expandafter\def\csname LTa\endcsname{\color{black}}%
      \expandafter\def\csname LT0\endcsname{\color[rgb]{1,0,0}}%
      \expandafter\def\csname LT1\endcsname{\color[rgb]{0,1,0}}%
      \expandafter\def\csname LT2\endcsname{\color[rgb]{0,0,1}}%
      \expandafter\def\csname LT3\endcsname{\color[rgb]{1,0,1}}%
      \expandafter\def\csname LT4\endcsname{\color[rgb]{0,1,1}}%
      \expandafter\def\csname LT5\endcsname{\color[rgb]{1,1,0}}%
      \expandafter\def\csname LT6\endcsname{\color[rgb]{0,0,0}}%
      \expandafter\def\csname LT7\endcsname{\color[rgb]{1,0.3,0}}%
      \expandafter\def\csname LT8\endcsname{\color[rgb]{0.5,0.5,0.5}}%
      \else
      % gray
      \def\colorrgb#1{\color{black}}%
      \def\colorgray#1{\color[gray]{#1}}%
      \expandafter\def\csname LTw\endcsname{\color{white}}%
      \expandafter\def\csname LTb\endcsname{\color{black}}%
      \expandafter\def\csname LTa\endcsname{\color{black}}%
      \expandafter\def\csname LT0\endcsname{\color{black}}%
      \expandafter\def\csname LT1\endcsname{\color{black}}%
      \expandafter\def\csname LT2\endcsname{\color{black}}%
      \expandafter\def\csname LT3\endcsname{\color{black}}%
      \expandafter\def\csname LT4\endcsname{\color{black}}%
      \expandafter\def\csname LT5\endcsname{\color{black}}%
      \expandafter\def\csname LT6\endcsname{\color{black}}%
      \expandafter\def\csname LT7\endcsname{\color{black}}%
      \expandafter\def\csname LT8\endcsname{\color{black}}%
      \fi
      \fi
      \setlength{\unitlength}{0.0500bp}%
      \begin{picture}(7200.00,5040.00)%
      \gplgaddtomacro\gplbacktext{%
      \csname LTb\endcsname%
      \put(902,440){\makebox(0,0)[r]{\strut{}-40}}%
      \put(902,933){\makebox(0,0)[r]{\strut{}-30}}%
      \put(902,1425){\makebox(0,0)[r]{\strut{}-20}}%
      \put(902,1918){\makebox(0,0)[r]{\strut{}-10}}%
      \put(902,2410){\makebox(0,0)[r]{\strut{} 0}}%
      \put(902,2903){\makebox(0,0)[r]{\strut{} 10}}%
      \put(902,3395){\makebox(0,0)[r]{\strut{} 20}}%
      \put(902,3888){\makebox(0,0)[r]{\strut{} 30}}%
      \put(902,4380){\makebox(0,0)[r]{\strut{} 40}}%
      \put(1034,220){\makebox(0,0){\strut{}-10}}%
      \put(2515,220){\makebox(0,0){\strut{}-5}}%
      \put(3996,220){\makebox(0,0){\strut{} 0}}%
      \put(5477,220){\makebox(0,0){\strut{} 5}}%
      \put(6958,220){\makebox(0,0){\strut{} 10}}%
      \put(3996,4710){\makebox(0,0){\strut{}ciao $x=f_dcdot 5$}}%
      }%
      \gplgaddtomacro\gplfronttext{%
      \csname LTb\endcsname%
      \put(5971,4207){\makebox(0,0)[r]{\strut{}f(x)}}%
      }%
      `

      L’eps lo converto in pdf.

      Poi scrivo il seguente file latex.

      `\documentclass{article}
      \usepackage{graphics}
      \usepackage{color}
      \begin{document}

      \begin{figure}
      \begin{center}
      \scalebox{1.0}{\input{gogo.tex}}
      \caption{Enter caption here}
      \label{Enter label here}
      \end{center}
      \end{figure}

      \end{document} `

      Compilo con pdflatex. Ma mi da un errore di missing endgroup inserted. Ma io teoricamente il file gogo.tex non devo neanche toccarlo. O sbaglio?

      Grazie per la pazienza.

      Mi sa che mi accontento con i miei file *.png :-))
      Saluti.

    • #31164
      Up
      0
      Down
      ::


      Manca `unset output` che chiude il file di uscita scrivendo tutto quello che serve alla fine (compreso il comando \endgroup di cui LaTeX ti segnala la mancanza) e in più dai due comandi plot con un solo file di uscita cosa in genere sconsigliabile con i terminal non interattivi a meno che tu non voglia creare un documento multipagina e il terminale lo supporti (es. postscript e pdf).
      Il codice corretto è`set terminal epslatex color
      set output 'gogo.tex'
      f(x)=4*x
      set title “ciao $x=f_d\cdot 5$”
      plot f(x)
      unset output`

      Il file tex è a posto a parte l’uso di \scalebox{1.0} che mi sembra superfluo.

      Ciao
      Matteo

    • #31165
      Up
      0
      Down
      ::

      l file tex è a posto a parte l’uso di \scalebox{1.0} che mi sembra superfluo.

      Ciao
      Matteo

      E l’uso dell’ambiente center al posto di centering…

    • #31166
      Up
      0
      Down
      ::


      Grazie a tutti del gentile aiuto, ma non riesco ancora a farlo girare con epslatex.
      Ormai ho ripiegato su *.png. Riprenderò questo 3d in futuro 😀 .

      Grazie ancora della pazienza.

      Ciao

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

Go to top