| Contents page
Previous | Next
Tutorial 5 - Legend Design
See TeeChart coded Legend example in the Examples folder below your TeeChart installation folder for a working example of some of the techniques outlined in this Tutorial.
Legend default Style "Automatic" will put Series point values in the Legend when there is only one Series in the Chart. When the Chart contains more than one Series, "Automatic" will put Series names in the Legend. If you change the Legend Style to display values and there is more than one Series in your Chart, TeeChart will display the values of the first Series. You may modify the display using custom options.
$tChart1->getLegend()->setLegendStyle(LegendStyles::$LASTVALUES); //Puts the last value of each Series in the Legend box
See the TextStyle method for a list of possible Legend text styles. The Text Style formats the Series entry in the Legend (e.g. Showing value as a percentage of total, etc).
Positioning the Legend (Position options)
There are 4 default positions available using the Alignment method, Top, Bottom, Left and Right. Right is the default position. The default positioning of the Legend will always be outside the Chart.
The Resize Chart method, when not enabled, will draw the legend within the Chart frame area. Whilst this may be satisfactory for some Legend positioning requirements, better control of Legend positioning in relation to the Chart frame can be achieved by using the Legend HorizMargin and VertMargin properties.
HorizMargin & VertMargin
Horizmargin applies to Left and Right aligned Legends. VertMargin applies to Top and Bottom aligned Legends. Changing the Horizmargin method value will move the Chart frame in relation to the Legend, NOT vice versa. Thus, making a Horizmargin value negative will move the Chart over the Legend (increasing the size of the Chart rectangle area). However, the methods are not intended for repositioning of the Legend over the Chart, to achieve this it is better to use the techniques outlined below.
Set the Legend CustomPosition method to true, then set the Top and Left pixel co-ordinates of the Legend to custom position it.
$tChart1->getLegend()->setCustomPosition(true); $tChart1->getLegend()->setTop(100); $tChart1->getLegend()->setLeft(100);
Number of rows in a horizontal Legend
When the Legend is aligned horizontally (top or bottom), the number of rows can be specified:
By default, MaxNumRows is 0 (zero), meaning the Legend will show all values using as many rows as necessary.
Colour box modification (Symbols)
Use the Colorwidth method to set the width of the colour boxes in the Legend.
//move the colour boxes to the right of the value list $tChart1->getLegend()->getSymbol()->setPosition(LegendSymbolPosition::$RIGHT); //set the boxes as continuous $tChart1->getLegend()->getSymbol()->setContinuous(true); //Make the boxes wider $tChart1->getLegend()->setColorWidth(40); //Hide the Pen of the line between the boxes $tChart1->getLegend()->getDividingLines()->setVisible(false);
© 1998-2020 Steema Software SL. All rights reserved.