[EMAIL PROTECTED] wrote: >> > Still confused though i get the instance part ur trying to tell me.
> Tried that out too. No error however, best fit lines still not being > made on the graph. Only the 3 plot lines show up. Gave it another shot. You might want something like from __future__ import division import Gnuplot def bestfit(uinput, **kw): sigmax = sigmay = sigmaxy = sigmaxsq = 0 for x, y in uinput: sigmax += x sigmay += y sigmaxy += x * y sigmaxsq += x * x n = len(uinput) sigmaxwhl = sigmax * sigmax sigmaxsigmay = sigmax * sigmay num = sigmaxsigmay - n * sigmaxy den = sigmaxwhl - n * sigmaxsq num2 = sigmax * sigmaxy - sigmay * sigmaxsq gradient = num / den intercept = num2 / den return Gnuplot.Func('%f * x+%f' % (gradient, intercept), **kw) 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="Actual") bf2 = bestfit(expected, title="Best fit expected") bf3 = bestfit(actual, title="Best fit actual") gp.plot(plot1, plot2, plot3, bf2, bf3) return gp if __name__ == "__main__": gp = plot( [(2,3), (4,8), (5,9), (6,2)], [(1,7), (3,3), (4,5), (5,6)], [(1,3), (3,10), (4,8), (7,9) ] ) raw_input() It's all in one file for simplicity. Note that I did not check the best fit algorithm, just tried to simplify what you already had. Use at your own risk. Peter -- http://mail.python.org/mailman/listinfo/python-list