Example: /ChartDirector/pareto

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/pareto


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/pareto

This example is the version from Fri, 9th Feb 2023.

Project "pareto.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() // The data for the chart dim data(-1) as double = array(40, 15, 7, 5, 2.0) // The labels for the chart dim labels(-1) as string = array("Hard Disk", "PCB", "Printer", "CDROM", "Keyboard") // Create a XYChart object of size 400 x 225 pixels. Use golden background color, // with a 2 pixel 3D border. dim c as new CDXYChartMBS(400, 225, CDXYChartMBS.goldColor, -1, 2) // Add a title box using Arial Bold/11 pt font. Set the background color to // metallic blue (9999FF). Use a 1 pixel 3D border. dim t as CDTextBoxMBS t=c.addTitle("Hardware Defects", "arialbd.ttf", 11) t.setBackground(c.metalColor(&h9999ff), -1, 1) // Set the plotarea at (50, 40) and of 300 x 150 pixels in size, with a silver // background color. call c.setPlotArea(50, 40, 300, 150, c.silverColor) // Add a line layer for the pareto line dim lineLayer as CDLineLayerMBS lineLayer = c.addLineLayer // Compute the pareto line by accumulating the data dim lineData as new CDArrayMBS(data) lineData.acc // Set a scaling factor such as the maximum point of the line is scaled to 100 dim scaleFactor as Double scaleFactor = 100 / lineData.max // Add the pareto line using the scaled data. Use deep blue (0x80) as the line // color, with light blue (0x9999ff) diamond symbols dim d as CDDataSetMBS lineData.mulvalue(scaleFactor) d=lineLayer.addDataSet(linedata, &h000080) call d.setDataSymbol(c.kDiamondSymbol, 9, &h9999ff) // Set the line width to 2 pixel lineLayer.setLineWidth(2) // Add a multi-color bar layer using the given data. dim colors(-1) as integer dim barlayer as CDBarLayerMBS barLayer = c.addBarLayer(data, colors) // Bind the layer to the secondary (right) y-axis. barLayer.setUseYAxis2 // Set soft lighting for the bars with light direction from the right barLayer.setBorderColor(c.kTransparent, c.softLighting(c.kRight)) // Set the labels on the x axis. call c.xAxis.setLabels(labels) // Set the primary y-axis scale as 0 - 100 with a tick every 20 units call c.yAxis.setLinearScale(0, 100, 20) // Set the label format of the y-axis label to include a percentage sign c.yAxis.setLabelFormat("{value}%") // Add a title to the secondary y-axis call c.yAxis2.setTitle("Frequency") // Set the secondary y-axis label foramt to show no decimal point c.yAxis2.setLabelFormat("{value|0}") // Set the relationship between the two y-axes, which only differ by a scaling // factor c.syncYAxis(1.0 / scaleFactor) // 2x for higher DPI displays c.setOutputOptions("bmpscale=2") pic = c.makeChartPicture End EventHandler
EventHandler Sub Paint(g As Graphics, areas() As REALbasic.Rect) If pic <> Nil Then g.DrawPicture pic, 0, 0, g.Width, g.Height, 0, 0, pic.width, pic.height End If End EventHandler
Property pic As Picture
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