« Forking Scripts | Home | Script Debugger 4.0.8b3 »
GraphX Plugin
The recent FaceSpan 5.0d42 build includes a graphing plugin based on Chad Weider’s GraphX framework. Chad’s framework provides three graphing views: curve, histogram and scatter plot.
As always when creating FaceSpan plugins from Cocoa frameworks, the tough part is converting the Cocoa APIs into a simple to use AppleScript syntax. In the case of these graphing views, I have substituted the ‘Data Source’ based APIs with a simple event for the curve view, and a value property that accepts a list of values to be graphed (a list of reals for the histogram and a list of x-y points for the scatter plot).
Here’s how it all looks running in a FaceSpan-built application:
The code for the curve view looks like this:
-- -- CT curve uses this event handler to get the data to be graphed -- on CT get y value theCTCurve for theXValue return theXValue * theXValue * theXValue + 1.0 end CT get y value
The event is called repeatedly by the curve view to generate the data to be graphed.
The code for the histogram looks like this:
on initialize theResponder -- CT histogram needs a list of reals to graph set theData to {} repeat with i from (x axis minimim) to (x axis maximum) set end of theData to random number from 1 to 10 end repeat set value to theData end initialize
Here I simply generate a random series of values and assign them to the view’s value property. The plugin does the rest.
And finally, the code for the scatter plot looks like this:
on initialize theResponder -- CT scatter plot requires a list of points (x, y pairs) to graph... set yValue to 1.0 set theData to {} repeat with i from (x axis minimim) to (x axis maximum) set end of theData to {i, yValue} set yValue to yValue + (random number from 0 to 2.0) end repeat set value to theData end initialize
Again, I simply generate a random series of point values and assign them to the view’s value property. The plugin does the rest.
The sources for the plugin are included in the FaceSpan 5.0d42 SDK.
About this entry
You’re currently reading “GraphX Plugin,” an entry on Mark Alldritt's Journal
- Published:
- Aug 13 2007 / 7:41 am
- Category:
- FaceSpan
Comments are closed
Comments are currently closed on this entry.