Example: /ChartDirector/surface3 red colors

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/surface3 red colors


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/surface3 red colors

This example is the version from Tue, 12th Nov 2012.

Project "surface3 red colors.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Löschen"
Const kFileQuit = "Beenden"
Const kFileQuitShortcut = ""
End Class
Class Window1 Inherits Window
EventHandler Sub Open() // The x and y coordinates of the grid dim dataX(-1) as double = array(-10.0, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10) dim dataY(-1) as double = array(-10.0, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10) // The values at the grid points. In this example, we will compute the values // using the formula z = Sin(x * x / 128 - y * y / 256 + 3) * Cos(x / 4 + 1 - // Exp(y / 8)) dim dataZ(21*21-1) as double for yIndex as integer = 0 to UBound(datay) dim y as double = dataY(yIndex) for xIndex as integer = 0 to UBound(datax) dim x as double = dataX(xIndex) dataZ(yIndex * 21 + xIndex) = sin(x * x / 128 - y * y / 256 + 3) * cos(x / 4 + 1 - exp(y / 8)) next next // Create a SurfaceChart object of size 750 x 600 pixels dim c as new CDSurfaceChartMBS(750, 600) 'Synchrozine the color axis with itself. This has the effect of breaking the default synchronization with the z-axis. Call c.colorAxis.syncAxis(c.colorAxis, 0, 0) dim colors() as integer // red colors colors.Append &h110000 colors.Append &h220000 colors.Append &h330000 colors.Append &h440000 colors.Append &h550000 colors.Append &h660000 colors.Append &h770000 colors.Append &h880000 colors.Append &h990000 colors.Append &hAA0000 colors.Append &hbb0000 colors.Append &hcc0000 colors.Append &hdd0000 colors.Append &hee0000 colors.Append &hFF0000 'Now can set the axis scale Call c.colorAxis.setLinearScale(-0.6, 0.6, 0.1) Call c.colorAxis.setColorGradient(false, colors) // Add a title to the chart using 20 points Times New Roman Italic font call c.addTitle("Surface Energy Density ", "timesi.ttf", 20) // Set the center of the plot region at (380, 260), and set width x depth x // height to 360 x 360 x 270 pixels c.setPlotRegion(380, 260, 360, 360, 270) // Set the elevation and rotation angles to 30 and 210 degrees c.setViewAngle(30, 210) // Set the perspective level to 60 c.setPerspective(60) // Set the data to use to plot the chart c.setData(dataX, dataY, dataZ) // Spline interpolate data to a 80 x 80 grid for a smooth surface c.setInterpolation(80, 80) // Use semi-transparent black (c0000000) for x and y major surface grid lines. // Use dotted style for x and y minor surface grid lines. dim majorGridColor as integer = &hc0000000 dim minorGridColor as integer = c.dashLineColor(majorGridColor, c.kDotLine) c.setSurfaceAxisGrid(majorGridColor, majorGridColor, minorGridColor, minorGridColor) // Set contour lines to semi-transparent white (80ffffff) c.setContourColor(&h80ffffff) // Add a color axis (the legend) in which the left center is anchored at (665, // 280). Set the length to 200 pixels and the labels on the right side. call c.setColorAxis(665, 280, c.kLeft, 200, c.kRight) // Set the x, y and z axis titles using 12 points Arial Bold font call c.xAxis.setTitle("X Title"+EndOfLine.UNIX+"Placeholder", "arialbd.ttf", 12) call c.yAxis.setTitle("Y Title"+EndOfLine.UNIX+"Placeholder", "arialbd.ttf", 12) call c.zAxis.setTitle("Z Title"+EndOfLine.UNIX+"Placeholder", "arialbd.ttf", 12) // 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

See also:

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


💬 Ask a question or report a problem