avm99963 | efbf7c7 | 2020-11-21 17:47:45 +0100 | [diff] [blame] | 1 | #!/usr/bin/env gnuplot -c |
| 2 | # == DEFINICIONS == |
| 3 | outputfile = ARG2 # Nom de la imatge resultant (sense extensió) |
| 4 | datafile = ARG1 # Nom del fitxer de dades que es vol usar |
| 5 | |
| 6 | # == CONFIGURACIÓ DE L'OUTPUT PEL LATEX == |
| 7 | set terminal cairolatex size 10cm, 10cm |
| 8 | set output outputfile.'.tex' |
| 9 | |
| 10 | # == CONFIGURACIÓ DEL PLOT == |
| 11 | set xlabel "$t \\, (\\si{\\second})$" |
| 12 | set ylabel "$\\varepsilon \\, (\\si{\\milli\\volt})$" |
| 13 | |
| 14 | set autoscale yfixmin |
| 15 | set autoscale xfixmax |
| 16 | |
| 17 | # Opcions per la llegenda: |
| 18 | set key above |
| 19 | set key spacing 1.5 |
| 20 | |
| 21 | # == CONFIGURACIÓ DEL FIT == |
| 22 | #set fit quiet |
| 23 | |
| 24 | # Funció per obtenir els dígits significatius d'una expressió |
| 25 | f_sd(n, i) = (int(n) == 0 ? f_sd(n*10, i+1) : (int(n) == 1 ? i+1 : i)) |
| 26 | significant_digits(n) = f_sd(n - 10*int(n/10), 0) |
| 27 | |
| 28 | significant_digits_r(n) = (n == 1 ? 0 : significant_digits(1 - n)) |
| 29 | |
| 30 | p(x) = a*x + b*x*x # Funció a fitar |
| 31 | fit p(x) datafile u 1:2 via a, b # Fem el fit de les dades |
| 32 | |
| 33 | plot [-50:150] datafile u 1:2:(0):3 w xyerr t "Dades", p(x) t "$\\varepsilon(t)$" |
| 34 | |
| 35 | # == CONFIGURACIÓ DE L'OUTPUT PER SVG == |
| 36 | # Això ho uso per generar també una imatge de previsualització que puc carregar |
| 37 | # a l'ordinador per veure més o menys com a sortit el plot sense haver |
| 38 | # d'inserir-ho al LaTeX per veure-ho. |
| 39 | set terminal svg dashed size 600, 600 font "Computer Modern,Tinos,Helvetica,15" |
| 40 | set output outputfile.'.svg' |
| 41 | |
| 42 | replot |