Platforms to show: All Mac Windows Linux Cross-Platform
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/cone animated
This example is the version from Mon, 3rd Feb 2019.
Project "cone animated.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Löschen"
Const kFileQuit = "Beenden"
Const kFileQuitShortcut = ""
End Class
Class PicWindow Inherits Window
Control Timer1 Inherits Timer
ControlInstance Timer1 Inherits Timer
EventHandler Sub Action()
if count<200 then
count=count+1
end if
redraw
End EventHandler
End Control
Control Canvas1 Inherits Canvas
ControlInstance Canvas1 Inherits Canvas
End Control
Control Canvas2 Inherits Canvas
ControlInstance Canvas2 Inherits Canvas
End Control
Control out Inherits Canvas
ControlInstance out Inherits Canvas
EventHandler Sub Paint(g As Graphics, areas() As REALbasic.Rect)
draw g
End EventHandler
End Control
Sub draw(g as Graphics)
// The data for the pyramid chart
dim data(-1) as double
data.Append 156.0
data.Append 123.0
data.Append 211.0
data.Append 179.0
// The labels for the pyramid chart
dim labels(-1) as string
// The semi-transparent colors for the pyramid layers
dim colors(-1) as integer
colors.Append &h60000088
labels.Append "Funds"
colors.Append &h6066aaee
labels.Append "Bonds"
colors.Append &h60ffbb00
labels.Append "Stocks"
colors.Append &h60ee6622
labels.Append "Cash"
// Create a PyramidChart object of size 480 x 400 pixels
dim c as new CDPyramidChartMBS(480, 400)
// Set the cone center at (280, 180), and width x height to 150 x 300 pixels
c.setConeSize(280, 180, 150, 300)
// Set the elevation to 15 degrees
c.setViewAngle(75-count*3/10)
// Set the pyramid data and labels
c.setData(data, labels)
// Set the layer colors to the given colors
c.setColors(c.kDataColor, colors)
// Leave 1% gaps between layers
c.setLayerGap(0.01)
// Add labels at the left side of the pyramid layers using Arial Bold font. The
// labels will have 3 lines showing the layer name, value and percentage.
call c.setLeftLabel("{label}"+EndOfLine.unix+"US ${value}K"+EndOfLine.unix+"({percent}%)", "arialbd.ttf")
// Output the chart
g.DrawPicture c.makeChartPicture,0,0
End Sub
Sub redraw()
out.Invalidate
End Sub
Property count As Integer
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.