Satimage Previous | Next
QuickCurve
Home Documentation SmileLab Scripting Making graphs by script QuickPlotLib QuickCurve  
QuickCurve(x, y, anObject) plots one curve y vs x.
  • If anObject is an existing curve, QuickCurve will load the new data in that curve.
  • If anObject is an existing plot view, QuickCurve will plot the data in a new curve in that plot view.
  • If anObject is an existing graphic window, QuickCurve will create a new plot view in that graphic window and it will plot the data in a new curve that it will create in that plot view.
  • If anObject is a wrong reference (for instance, an object that was disposed of) or 0 or a string, QuickCurve will make a new graphic window (with the string as its name if you provided a string), then a new plot view in that graphic window and it will plot the data in a new curve created in that plot view.
set c1 to QuickCurve(x1, y1, 0) -- new window, new plot view, new curve
set c2 to QuickCurve(x2, y2, c1's container) -- new curve in same plot view
QuickCurve(x3, y3, c1) -- new data in existing curve c1
  • The data are x and y. Normally they should be arrays of real or lists of numbers of identical size.
  • You can pass the empty list as x: QuickCurve will assume the integer values for x. Alternately you can pass a range as a list of two numbers {xmin, xmax}: QuickCurve will assume evenly distributed x values in that range.
    QuickCurve({}, {0, 1, 4, 9, 16}, 0) -- x will automatically assume the values {0, 1, 2, 3, 4}
    QuickCurve({0, 1}, {0, 1, 4, 9, 16}, 0) -- x will automatically assume the values {0, 0.25, 0.5, 0.75, 1}
  • You can also have QuickCurve plot formulae. To this effect, provide an expression of the x variable (a string) as the y parameter.
    QuickCurve(x1, "x*sin(x)", 0) -- plot the formula in a new window
    You can provide a range {xmin, xmax} for x.
    QuickCurve({-pi, pi}, "x*sin(x)", 0) -- plot the formula for x in [-pi..pi]

The plot of the function x.sin(x)
  • QuickCurve includes some checks against bad data. In particular if the data are too numerous QuickCurve will choose to make a scatter plot instead of a curve, for the sake of fluidity.
Copyright ©2008 Paris, Satimage