Donut

Functional reference for DonutObject, including its runtime role and the supported settings available in the design environment.

Updated 3 min read
On this page (8 sections)
  1. Functional explanation
  2. Object name
  3. Settings
  4. Data
  5. Text
  6. Position / Size
  7. Access Control
  8. Visibility

Functional explanation

DonutObject is a circular proportional chart. It is used to show part-to-whole relationships such as running versus idle time or category distribution.

The object is useful when relative share is more important than exact tabular values. Keep the number of segments limited so the chart stays readable.

Use it when a compact circular comparison is easier to read than a straight bar chart.

Object name

Set the object name shown in the donut decorator context.

SettingDescriptionExampleUnits
Object NameName used to identify the Donut object.StatusDonutText

Settings

Configure the ring size, animation, and data source for the donut chart.

SettingDescriptionExampleUnits
Radius WidthWidth of the donut ring.30px
Animation SpeedDuration of the opening animation, in which the segments grow from zero and the values count up. After that, a value change moves the segments and their texts to their new position in at most 400 ms, and the value text shows the new value directly.500ms

Data

Configure the data source and dynamic data entries for the donut chart.

SettingDescriptionExampleUnits
JSON VariableVariable or expression that provides chart data as a JSON array.PLC1.DonutDataExpression
JSON Dynamic DataStatic JSON array defining chart segments with value, color, and label fields. In the designer each segment has an Editor for its value expression and an Editor for its label, in which variable names are replaced by their current values.[{"value":70,"color":"#28a745","label":"Running"}]JSON array

Text

Configure the label and value text appearance for the donut chart.

12 rows
SettingDescriptionExampleUnits
Label Font FamilyFont family used for the segment labels.ArialFont family name
Label Font SizeFont size used for the segment labels.12px
Label Font WeightFont weight used for the segment labels.400CSS font weight
Label Text MarginMargin around the label text.5px
Label HiddenHides the label text when true.falseBoolean
Value Font FamilyFont family used for the value text.ArialFont family name
Value Font SizeFont size used for the value text.14px
Value Font WeightFont weight used for the value text.700CSS font weight
Value Text MarginMargin around the value text.5px
Value UnitUnit suffix displayed next to values.%Text
Value FormatNumber format of the value text, the same patterns as the Format of a variable: 0 shows no decimals, 0.00 always shows two decimals, 0.0## shows one to three decimals and #,##0.00 adds a thousands separator. Empty shows whole numbers while the values count up in the opening animation, and the value as given afterwards.0.0Text
Value HiddenHides the value text when true.falseBoolean

Position / Size

Configure the position and size of the Donut object.

SettingDescriptionExampleUnits
TopTop position of the object.100px
LeftLeft position of the object.220px
WidthWidth of the object.220px
HeightHeight of the object.220px
Z-indexLayer order of the object. Higher values appear in front of lower values.10Number

Access Control

Configure access control for the Donut object.

SettingDescriptionExampleUnits
Access Control EnableEnables access control evaluation for the object.trueBoolean
Access ControlExpression controlling who can use or see the object.SYSTEM.UserGroups == "Operators"Expression
Access Control FilterCSS filter applied when access control is used to alter the object appearance.blur(0px) contrast(30%)CSS filter

Visibility

Configure the runtime visibility and blinking behavior for the Donut object.

SettingDescriptionExampleUnits
VisibilityExpression controlling whether the object is visible.PLC1.DonutVisibleExpression
BlinkExpression or boolean controlling donut blinking.PLC1.AlarmActiveBoolean or expression
Blink SpeedBlink speed used during runtime.500ms
Blink OffsetBlink offset used to stagger blinking between objects.falseBoolean
Something missing or wrong in this article? Contact us