Gnuplot: avere un cutoff usando replot
Ciao a tutti.
Premetto che ho cercato nel forum e non ho trovato nulla che mi abbia aiutato, pongo qui il mio quesito.
Ho dei dati con x nell' intervallo [2,4].
Li plotto usando plot.
Poi ne metto una parte su un alto file, solo quelli per x in [2.5,3.5] e ne faccio un fit.
Plotto il fit dei dati sul grafico di prima usando replot.
Il problema è che la funzione "fit" viene così graficata per x in [2,4] ma naturalmente al di fuori di [2.5,3.5] non becca nemmeno un punto e il grafico è una bella schifezza.
Considerando che è vietato da gnuplot usare un comando per dare un xrange quando si usa replot
(plot [2:5] 'dati.dat' plotta con x in [2,5]
replot [2:5] 'dati.dat' è vietato)
come faccio a dirgli di graficare la funzione fit solo in [2.5,3.5]?
grazie infinite
Premetto che ho cercato nel forum e non ho trovato nulla che mi abbia aiutato, pongo qui il mio quesito.
Ho dei dati con x nell' intervallo [2,4].
Li plotto usando plot.
Poi ne metto una parte su un alto file, solo quelli per x in [2.5,3.5] e ne faccio un fit.
Plotto il fit dei dati sul grafico di prima usando replot.
Il problema è che la funzione "fit" viene così graficata per x in [2,4] ma naturalmente al di fuori di [2.5,3.5] non becca nemmeno un punto e il grafico è una bella schifezza.
Considerando che è vietato da gnuplot usare un comando per dare un xrange quando si usa replot
(plot [2:5] 'dati.dat' plotta con x in [2,5]
replot [2:5] 'dati.dat' è vietato)
come faccio a dirgli di graficare la funzione fit solo in [2.5,3.5]?
grazie infinite
Risposte
Se potesse interessare a qualcuno, ho tovato una soluzione al problema:
Put the fit function in a datafile, then plot this datafile together with your original data.
# This is the complete xrange
set xrange [-2:2]
# This creates some test data to play with
set table "data.txt"
plot sin(x)
unset table
# Fit some of the created data points
f(x) = a*x + b
fit [-0.5:0.5] f(x) "data.txt" via a, b
# Plot the fit function to a temporary file
# Note, only the xrange of the fit is used
set table "fit.dat"
plot [-0.5:0.5] f(x)
unset table
# Plot both datafiles in one diagram
plot "data.txt" w l, "fit.dat" w l lw 4
Put the fit function in a datafile, then plot this datafile together with your original data.
# This is the complete xrange
set xrange [-2:2]
# This creates some test data to play with
set table "data.txt"
plot sin(x)
unset table
# Fit some of the created data points
f(x) = a*x + b
fit [-0.5:0.5] f(x) "data.txt" via a, b
# Plot the fit function to a temporary file
# Note, only the xrange of the fit is used
set table "fit.dat"
plot [-0.5:0.5] f(x)
unset table
# Plot both datafiles in one diagram
plot "data.txt" w l, "fit.dat" w l lw 4