Each of Grapher's support fit types can be added via automation. See the AddFit and grfFitTypes help pages for additional details about the available options. The sample script below creates a few different fit curves and adjusts the properties of each.
To run this script:
- Click here to download the BAS file: fits.BAS.
- Click Automation | Scripts | Run, select the BAS file from your downloads directory, and click Open.
OR:
- Copy the script below.
- Open Grapher and turn on the Script Manager by clicking View | Display | Script Manager.
- Press Ctrl+A to select all of the existing lines in the Script Manager and then press DELETE.
- Press Ctrl+V to paste it into the Script Manager.
- Click the green arrow Start/Resume icon in the Script Manager.
Sub Main
Dim GrapherApp, Docs, Plot, ScatterPlot As Object
Set GrapherApp = CreateObject("Grapher.Application")
GrapherApp.Visible = True
Set Docs = GrapherApp.Documents
Set Plot = Docs.Add(grfPlotDoc)
'Creates a line plot and assigns the graph and plot to variable names
Set Graph = Plot.Shapes.AddLinePlotGraph(GrapherApp.Path+"\samples\tutorial.dat")
Set ScatterPlot = Graph.Plots.Item(1)
'Adjusts the symbol and line properties for the plot
ScatterPlot.symbolFreq = 1
ScatterPlot.symbol.Index = 30
ScatterPlot.symbol.size = 0.25
ScatterPlot.symbol.color = RGB(0,0,255)
ScatterPlot.symbol.lineColor = grfColorBlue
ScatterPlot.line.style("invisible")
'Adds a polynomial fit curve to the plot
Set FitPolynomial = Graph.Plots(1).AddFit(grfPolynomialFit)
FitPolynomial.Option=4
FitPolynomial.line.foreColor(grfColorGrassGreen)
FitPolynomial.line.width=0.03
'Adds a spline fit curve to the plot
Set FitSpline = Graph.Plots(1).AddFit(grfSplineFit)
FitSpline.line.foreColor(grfColorNavyBlue)
FitSpline.line.width=0.03
FitSpline.Option=15
'Adds a running average fit curve to the plot
Set FitRunningAvg = Graph.Plots(1).AddFit(grfRunningAvgFit)
FitRunningAvg.line.foreColor(grfColorAutumnOrange)
FitRunningAvg.line.width=0.03
FitRunningAvg.Option=9
'Adds a weighted average fit curve to the plot
Set FitWeightedAvg = Graph.Plots(1).AddFit(grfWeightedAvgFit)
FitWeightedAvg.line.foreColor(grfColorRubyRed)
FitWeightedAvg.line.width=0.03
FitWeightedAvg.Option=3
End Sub
Updated August 13, 2019
Comments
Please sign in to leave a comment.