Platforms to show: All Mac Windows Linux Cross-Platform
/ChartDirector/High Resolution Chart Examples/smallsectorpie
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/High Resolution Chart Examples/smallsectorpie
This example is the version from Sun, 17th Mar 2012.
Project "smallsectorpie.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()
const f=4 // scale factor, 1 for screen and 4 or more for printing
// The data for the pie chart
dim data(-1) as double = array(35.0, 30, 25, 7, 6, 5, 4, 3, 2, 1)
// The labels for the pie chart
dim labels(-1) as string= array("Labor", "Production", "Facilities", "Taxes", "Misc", "Legal", "Insurance", "Licenses", "Transport", "Interest")
// Create a PieChart object of size 560 x 270 pixels, with a golden background
// and a 1 pixel 3D border
dim c as new CDPieChartMBS(f*560, f*270, CDPieChartMBS.goldColor, -1, f)
// Add a title box using 15 pts Times Bold Italic font and metallic pink
// background color
dim t as CDTextBoxMBS
t=c.addTitle("Project Cost Breakdown", "timesbi.ttf", 15*f)
t.setBackground(c.metalColor(&hff9999))
// Set the center of the pie at (280, 135) and the radius to 110 pixels
c.setPieSize(280*f, f*135, f*110)
// alternative a donut:
'c.setDonutSize(280, 140, 110, 55)
// Draw the pie in 3D with 20 pixels 3D depth
c.set3D(f*20)
// Use the side label layout method
c.setLabelLayout(c.kSideLayout)
// Set the label box background color the same as the sector color, with glass
// effect, and with 5 pixels rounded corners
t = c.setLabelStyle("",8*f)
t.setBackground(c.kSameAsMainColor, c.kTransparent, c.glassEffect())
t.setRoundedCorners(5)
c.setJoinLine(0,f)
// Set the border color of the sector the same color as the fill color. Set the
// line color of the join line to black (0x0)
c.setLineColor(c.kSameAsMainColor, &h000000)
// Set the start angle to 135 degrees may improve layout when there are many
// small sectors at the end of the data array (that is, data sorted in descending
// order). It is because this makes the small sectors position near the
// horizontal axis, where the text label has the least tendency to overlap. For
// data sorted in ascending order, a start angle of 45 degrees can be used
// instead.
c.setStartAngle(135)
// Set the pie data and the pie labels
c.setdata(data, labels)
Backdrop=c.MakeChartPicture
Width=f*560
Height=f*270
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:
- /ChartDirector/High Resolution Chart Examples/legendpie2
- /ChartDirector/High Resolution Chart Examples/linefill
- /ChartDirector/High Resolution Chart Examples/multivmeter
- /ChartDirector/High Resolution Chart Examples/polarbubble
- /ChartDirector/High Resolution Chart Examples/softlightbar
- /ChartDirector/High Resolution Chart Examples/squareameter
- /ChartDirector/High Resolution Chart Examples/surface
- /ChartDirector/High Resolution Chart Examples/surface3
- /ChartDirector/High Resolution Chart Examples/surfaceaxis
- /ChartDirector/High Resolution Chart Examples/surfacewireframe
The items on this page are in the following plugins: MBS ChartDirector Plugin.