[EMAIL PROTECTED] wrote: > Hello. Ive got two functions here. Somehow the program does not go in > to the second function wehn i call it. The bestfit function. Could > some1 help me identify the problem. Heres the code:
Same problem as before, you have to keep the Gnuplot instance alive if you want to see the graph. Note that instead of for i in range(len(uinput)): sigmaxy = uinput[i][0] * uinput[i][1] + sigmaxy you could write for x, y in uinput: sigmaxy += x * y High time to take a look into a good Python tutorial... # --- combine.py --- import Gnuplot def bestfit(uinput): sigmax = sigmay = sigmaxy = sigmaxwhl = sigmaxsq = 0 for i in range(len(uinput)): n = len(uinput) sigmax = uinput[i][0] + sigmax sigmay = uinput[i][1] + sigmay sigmaxy = uinput[i][0] * uinput [i][1] + sigmaxy sigmaxwhl = sigmax * sigmax sigmaxsq = uinput[i][0] * uinput[i][0] + sigmaxsq sigmaxsigmay = sigmax * sigmay num = sigmaxsigmay - (n * sigmaxy) den = sigmaxwhl - (n* sigmaxsq) num2 = (sigmax * sigmaxy) - (sigmay * sigmaxsq) gradient = num / den intercept = num2 / den m = gradient c = intercept p = Gnuplot.Gnuplot() p.plot ('%f * x+%f'%(m,c)) return p def plot(original, expected, actual): gp = Gnuplot.Gnuplot() gp('set data style lines') # Make the plot items plot1 = Gnuplot.PlotItems.Data(original, title="Original") plot2 = Gnuplot.PlotItems.Data(expected, title="Expected") plot3 = Gnuplot.PlotItems.Data(actual, title="Acutal") gp.plot(plot1, plot2, plot3) return gp def show_plots(original, expected, actual): gp = combine.plot( original, expected, actual) raw_input("first") gp = combine.bestfit(expected) raw_input("second") gp = combine.bestfit(actual) raw_input("third") # --- combine_main.py --- import combine combine.show_plots([(2,3), (4,8), (5,9), (6,2)], [(1,7), (3,3), (4,5), (5,6)], [(1,3), (3,10), (4,8), (7,9) ] ) -- http://mail.python.org/mailman/listinfo/python-list