Example: /ChartDirector/curvefitting

Online Documentation   -   Statistics   -   FAQ   -   Plugin Parts (All, Dependencies)   -   Class hierarchy

New in Version 22.2 22.3 22.4 22.5 23.0 23.1 23.2 23.3 23.4 23.5 24.0 24.1

The list of the   topics,   classes,   interfaces,   controls,   modules,   global methods by category,   global methods by name,   screenshots,   licenses   and   examples.

Platforms to show: All Mac Windows Linux Cross-Platform

/ChartDirector/curvefitting


Required plugins for this example: MBS ChartDirector Plugin

You find this example project in your Plugins Download as a Xojo project file within the examples folder: /ChartDirector/curvefitting

This example is the version from Sun, 17th Mar 2012.

Project "curvefitting.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Löschen"
Const kFileQuit = "Beenden"
Const kFileQuitShortcut = ""
End Class
Class PicWindow Inherits Window
EventHandler Sub Open() // Use random table to generate a random series. The random table is set to 1 col // x 51 rows, with 9 as the seed dim rantable as new CDRanTableMBS(9, 1, 51) // Set the 1st column to start from 100, with changes between rows from -5 to +5 rantable.setCol(0, 100, -5, 5) // Get the 1st column of the random table as the data set dim data as CDArrayMBS = rantable.getCol(0) // Create a XYChart object of size 600 x 300 pixels dim c as new CDXYChartMBS(600, 300) // Set the plotarea at (50, 35) and of size 500 x 240 pixels. Enable both the // horizontal and vertical grids by setting their colors to grey (&hc0c0c0) call c.setPlotArea(50, 35, 500, 240).setGridColor(&hc0c0c0, &hc0c0c0) // Add a title to the chart using 18 point Times Bold Itatic font. call c.addTitle("LOWESS Generic Curve Fitting Algorithm", "timesbi.ttf", 18) // Set the y axis line width to 3 pixels c.yAxis.setWidth(3) // Add a title to the x axis using 12 pts Arial Bold Italic font call c.xAxis.setTitle("Server Load (TPS)", "arialbi.ttf", 12) // Set the x axis line width to 3 pixels c.xAxis.setWidth(3) // Set the x axis scale from 0 - 50, with major tick every 5 units and minor tick // every 1 unit c.xAxis.setLinearScale(0, 50, 5, 1) // Add a blue layer to the chart dim layer as CDLineLayerMBS layer = c.addLineLayer // Add a red (&h80ff0000) data set to the chart with square symbols layer.addDataSet(data, &h80FF0000).setDataSymbol(c.kSquareSymbol) // Set the line width to 2 pixels layer.setLineWidth(2) // Use lowess for curve fitting, and plot the fitted data using a spline layer // with line width set to 3 pixels data.lowess dim d(-1) as Double dim i,count as integer count=data.count-1 for i=0 to count d.Append data.getvalue(i) next call c.addSplineLayer(d, &h0000ff).setLineWidth(3) // Set zero affinity to 0 to make sure the line is displayed in the most detail // scale c.yAxis.setAutoScale(0, 0, 0) // Output the chart Backdrop=c.makeChartPicture End EventHandler
End Class
MenuBar MenuBar1
MenuItem FileMenu = "&Ablage"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Bearbeiten"
MenuItem EditUndo = "&Rückgängig"
MenuItem UntitledMenu1 = "-"
MenuItem EditCut = "&Ausschneiden"
MenuItem EditCopy = "&Kopieren"
MenuItem EditPaste = "&Einfügen"
MenuItem EditClear = "#App.kEditClear"
MenuItem UntitledMenu0 = "-"
MenuItem EditSelectAll = "&Alles auswählen"
End MenuBar
End Project

The items on this page are in the following plugins: MBS ChartDirector Plugin.


💬 Ask a question or report a problem