CircularBarChart
New in version 5.0
CircularBarChart ( appearanceConst ; startAngle ; arcAngle ; innerRadiusMin ; barWidth ; barGap ; barBackgroundWidth ; barBackgroundOffset ; barBackgroundShading ; barBackgroundColor1 ; barBackgroundColor2 ; . . . ; barBackgroundColor100 )
| Argument | Type | Range | Default | Note |
|---|---|---|---|---|
| appearanceConst | int | 0..127 | default | |
| startAngle | num | -360..+360 | 0 | |
| arcAngle | num | -360..+360 | 360 | If negative, go counter-clockwise. |
| innerRadiusMin | num | 0..1 | 0.25 | Relative to outer radius. |
| barWidth | num | 0..1 | 0.15 | Relative to outer radius. |
| barGap | num | 0..1 | 0 | Relative to outer radius. |
| barBackgroundWidth | num | 0..10 | 1 | Relative to bar width. |
| barBackgroundOffset | num | -1..1 | 0 | Relative to bar width. |
| barBackgroundShading | int | -1..128 | solid | |
| barBackgroundColor1 | rgba | 0..255 | #e6e6e6 | |
| barBackgroundColor2 | rgba | 0..255 | #e6e6e6 | |
| ... | rgba | 0..255 | #e6e6e6 | |
| barBackgroundColor100 | rgba | 0..255 | #e6e6e6 |
Description
The CircularBarChart() function makes it possible to draw bars arranged in concentric circles. The appearance of the bars can be controlled by the FillStyle() , BorderStyle() and SymbolStyle() functions; the scale by using the Scaling() function.
Location of the labels on circular bar charts:
| Constant | Value | Positioning |
|---|---|---|
| smartBegin | 1 | Beginning of bar if enough space is available |
| smartCenter | 2 | Middle of bar if enough space is available |
| smartEnd | 3 | End of bar if enough space is available |
| begin | 4 | Beginning of bar (forced) |
| center | 5 | Middle of bar (forced) |
| end | 6 | End of bar (forced) |
| edge | 7 | Edge on end of bar (forced) |
| smartOut | 8 | Outside if enough space is available (default) |
| out | 9 | Outside end of bar (forced) |
| (no constant) | 10 | Outside beginning of bar (tangential) |
| (no constant) | 11 | Outside beginning of bar (circular) |
Please note, legend, title and label backgrounds are ignored in combination with circular bar charts.
| | CIRCULAR_BAR_CHART_01 |
| 1 | OpenDrawing(100;100) |
| 2 | ChartData(83.2) |
| 3 | |
| 4 | 0; /* Start angle in [deg]. */ |
| 5 | 360; /* Arc angle in [deg]. If negative, go counter-clockwise. */ |
| 6 | 0.25; /* Inner radius minimum. Relative to outer radius. */ |
| 7 | 0.15; /* Bar width. Relative to outer radius. */ |
| 8 | 0; /* Bar gap. Relative to outer radius. */ |
| 9 | 1; /* Bar background width. Relative to bar width. */ |
| 10 | 0; /* Bar background offset. Relative to bar width. */ |
| 11 | 0; /* Bar background shading: 0...solid, -1...shaded. */ |
| 12 | lightGray) /* Bar background color. */ |
| 13 | /* Use style functions to control the appearance of bar(s). */ |
| 14 | FillStyle(1;79 139 223) |
| 15 | BorderStyle(1;none) |
| 16 | /* Use the Scaling() function to control the value range. */ |
| 17 | |
| 18 | AddText(50;50;"83.2%";Arial;14;plain;#666;center;center) |
| 19 | Background( #f3f6f2;0;0;;;2 2 2;lightGray) |
| 20 | |
| 21 |
| | CIRCULAR_BAR_CHART_02 |
| 1 | OpenDrawing(200;100) |
| 2 | |
| 3 | /* Left Graph. */ |
| 4 | OpenChart(0;0;100;100) |
| 5 | ChartData(83.2) |
| 6 | |
| 7 | 0; /* Start angle in [deg]. */ |
| 8 | 360; /* Arc angle in [deg]. If negative, go counter-clockwise. */ |
| 9 | 0.25; /* Inner radius minimum. Relative to outer radius. */ |
| 10 | 0.15; /* Bar width. Relative to outer radius. */ |
| 11 | 0; /* Bar gap. Relative to outer radius. */ |
| 12 | 1; /* Bar background width. Relative to bar width. */ |
| 13 | 0; /* Bar background offset. Relative to bar width. */ |
| 14 | 0; /* Bar background shading: 0...solid, -1...shaded. */ |
| 15 | #ffe0e0) /* Bar background color. */ |
| 16 | /* Use style functions to control the appearance of bar(s). */ |
| 17 | FillStyle(1;#D72729) |
| 18 | |
| 19 | ShadowStyle(all;1 1 3;lightGray) |
| 20 | /* Use the Scaling() function to control the value range. */ |
| 21 | |
| 22 | AddText(50;50;"<span size=14>83.2</span>%\nDevice A";Arial;9;plain;#666;center;center) |
| 23 | |
| 24 | |
| 25 | /* Right Graph. */ |
| 26 | OpenChart(100;0;100;100) |
| 27 | ChartData(83.2) |
| 28 | |
| 29 | 0; /* Start angle in [deg]. */ |
| 30 | 360; /* Arc angle in [deg]. If negative, go counter-clockwise. */ |
| 31 | 0; /* Inner radius minimum. Relative to outer radius. */ |
| 32 | 1; /* Bar width. Relative to outer radius. */ |
| 33 | 0; /* Bar gap. Relative to outer radius. */ |
| 34 | 1; /* Bar background width. Relative to bar width. */ |
| 35 | 0; /* Bar background offset. Relative to bar width. */ |
| 36 | 0; /* Bar background shading: 0...solid, -1...shaded. */ |
| 37 | #f0f3bd) /* Bar background color. */ |
| 38 | /* Use style functions to control the appearance of bar(s). */ |
| 39 | |
| 40 | |
| 41 | ShadowStyle(all;1 1 3;lightGray) |
| 42 | /* Use the Scaling() function to control the value range. */ |
| 43 | |
| 44 | AddText(153;66;"38.5<span size=10>%</span>";Arial;15;plain;#fff;center;center) |
| 45 | |
| 46 |
| | CIRCULAR_BAR_CHART_03 |
| 1 | OpenDrawing(140;140) |
| 2 | OpenChart(10;10;120;120) |
| 3 | ChartData(53;61) |
| 4 | |
| 5 | 180; /* Start angle in [deg]. */ |
| 6 | -360; /* Arc angle in [deg]. If negative, go counter-clockwise. */ |
| 7 | 0.25; /* Inner radius minimum. Relative to outer radius. */ |
| 8 | 0.07; /* Bar width. Relative to outer radius. */ |
| 9 | 0; /* Bar gap. Relative to outer radius. */ |
| 10 | 1; /* Bar background width. Relative to bar width. */ |
| 11 | 0; /* Bar background offset. Relative to bar width. */ |
| 12 | 0; /* Bar background shading: 0...solid, -1...shaded. */ |
| 13 | #f0f0f0) /* Bar background color. */ |
| 14 | /* Use style functions to control the appearance of bar(s). */ |
| 15 | |
| 16 | |
| 17 | /* Use the Scaling() function to control the value range. */ |
| 18 | |
| 19 | AddText(70;70;"<span color=#3d7698>53%</span>\n<span color=#bbd0df>61%</span>";Arial;15;plain;#666;center;center) |
| 20 | |
| 21 |
| | CIRCULAR_BAR_CHART_04 |
| 1 | OpenDrawing(200;200) |
| 2 | OpenChart(10;10;180;180) |
| 3 | ChartData(83.2;63.8;47.5) |
| 4 | |
| 5 | 180; /* Start angle in [deg]. */ |
| 6 | 270; /* Arc angle in [deg]. If negative, go counter-clockwise. */ |
| 7 | 0.25; /* Inner radius minimum. Relative to outer radius. */ |
| 8 | 0.15; /* Bar width. Relative to outer radius. */ |
| 9 | 0.02; /* Bar gap. Relative to outer radius. */ |
| 10 | 1; /* Bar background width. Relative to bar width. */ |
| 11 | 0; /* Bar background offset. Relative to bar width. */ |
| 12 | 0; /* Bar background shading: 0...solid, -1...shaded. */ |
| 13 | #f0f0f0 ) /* Bar background color. */ |
| 14 | /* Use style functions to control the appearance of bar(s). */ |
| 15 | |
| 16 | |
| 17 | BarStyle(all;0;1) /* Bar caps at start and end of bar [0..7] */ |
| 18 | ShadowStyle(all;2 2 2;lightGray) |
| 19 | LabelTexts(1;"Group C: |f1|%") |
| 20 | LabelTexts(2;"Group B: |f1|%") |
| 21 | LabelTexts(3;"Group A: |f1|%") |
| 22 | LabelStyle(all;Arial;10;bold;#555) |
| 23 | LabelOptions(all; /* Bar number. */ |
| 24 | 10; /* Label location [0..11] */ |
| 25 | /* 10...Labels at the begin of the bars - tangential. */ |
| 26 | /* 11...Labels at the begin of the bars - circular. */ |
| 27 | 3; /* Offset - circular. */ |
| 28 | 0) /* Offset - radial. */ |
| 29 | /* Use the Scaling() function to control the value range. */ |
| 30 | |
| 31 | |
| 32 |
| | CIRCULAR_BAR_CHART_05 |
| 1 | OpenDrawing(240;240) |
| 2 | OpenChart(10;10;220;220) |
| 3 | ChartData(0.932;0.867;0.691) |
| 4 | |
| 5 | 0; /* Start angle in [deg]. */ |
| 6 | -270; /* Arc angle in [deg]. If negative, go counter-clockwise. */ |
| 7 | 0; /* Inner radius minimum. Relative to outer radius. */ |
| 8 | 0.15; /* Bar width. Relative to outer radius. */ |
| 9 | 0.05; /* Bar gap. Relative to outer radius. */ |
| 10 | 1; /* Bar background width. Relative to bar width. */ |
| 11 | 0; /* Bar background offset. Relative to bar width. */ |
| 12 | 0; /* Bar background shading: 0...solid, -1...shaded. */ |
| 13 | #dae4f0;#dff1fc;#f0f3bd) /* Bar background colors. */ |
| 14 | /* Use style functions to control the appearance of bar(s). */ |
| 15 | |
| 16 | |
| 17 | |
| 18 | |
| 19 | BarStyle(all;0;4) /* Bar caps at start and end of bar [0..7] */ |
| 20 | ShadowStyle(all;1 1 3;lightGray) |
| 21 | LabelTexts(1;"Company A: |2f1|%") |
| 22 | LabelTexts(2;"Company B: |2f1|%") |
| 23 | LabelTexts(3;"Company C: |2f1|%") |
| 24 | LabelStyle(all;Verdana;9;bold;#555) |
| 25 | LabelOptions(all; /* Bar number. */ |
| 26 | 10; /* Label location [0..11] */ |
| 27 | /* 10...Labels at the begin of the bars - tangential. */ |
| 28 | /* 11...Labels at the begin of the bars - circular. */ |
| 29 | 3; /* Offset - circular. */ |
| 30 | 0) /* Offset - radial. */ |
| 31 | /* Use the Scaling() function to control the value range. */ |
| 32 | |
| 33 | |
| 34 |
| | CIRCULAR_BAR_CHART_06 |
| 1 | OpenDrawing(240;240) |
| 2 | OpenChart(10;10;220;220) |
| 3 | ChartData(83.2;76.7;69.8;59.5) |
| 4 | |
| 5 | -90; /* Start angle in [deg]. */ |
| 6 | 360; /* Arc angle in [deg]. If negative, go counter-clockwise. */ |
| 7 | 0.25; /* Inner radius minimum. Relative to outer radius. */ |
| 8 | 0.15; /* Bar width. Relative to outer radius. */ |
| 9 | 0.02; /* Bar gap. Relative to outer radius. */ |
| 10 | 0.25; /* Bar background width. Relative to bar width. */ |
| 11 | 0; /* Bar background offset. Relative to bar width. */ |
| 12 | 0; /* Bar background shading: 0...solid, -1...shaded. */ |
| 13 | #eee) /* Bar background color. */ |
| 14 | /* Use style functions to control the appearance of bar(s). */ |
| 15 | |
| 16 | |
| 17 | BarStyle(all;7;4) /* Bar caps at start and end of bar [0..7] */ |
| 18 | ShadowStyle(all;1 1 3;lightGray) |
| 19 | LabelTexts(1;"Test Company A: |f1|%") |
| 20 | LabelTexts(2;"Test Company B: |f1|%") |
| 21 | LabelTexts(3;"Test Company C: |f1|%") |
| 22 | LabelTexts(4;"Test Company D: |f1|%") |
| 23 | LabelStyle(all;Verdana;9;bold;#555) |
| 24 | LabelStyle(1;Verdana;9;bold;white) |
| 25 | LabelStyle(3;Verdana;9;bold;white) |
| 26 | LabelOptions(all; /* Bar number. */ |
| 27 | begin; /* Label location [0..11] */ |
| 28 | 0; /* Offset - circular. */ |
| 29 | 0) /* Offset - radial. */ |
| 30 | /* Use the Scaling() function to control the value range. */ |
| 31 | |
| 32 | |
| 33 | Background(#f3f6f2;0;0;;;2 2 2;lightGray) |
| 34 | |
| 35 |
| | CIRCULAR_BAR_CHART_07 |
| 1 | OpenDrawing(240;240) |
| 2 | OpenChart(10;10;220;220) |
| 3 | ChartData(0.832;0.638;0.475;0.617;0.757) |
| 4 | |
| 5 | 180; /* Start angle in [deg]. */ |
| 6 | -270; /* Arc angle in [deg]. If negative, go counter-clockwise. */ |
| 7 | 0.5; /* Inner radius minimum. Relative to outer radius. */ |
| 8 | 0.15; /* Bar width. Relative to outer radius. */ |
| 9 | 0.05; /* Bar gap. Relative to outer radius. */ |
| 10 | 1; /* Bar background width. Relative to bar width. */ |
| 11 | 0; /* Bar background offset. Relative to bar width. */ |
| 12 | 0; /* Bar background shading: 0...solid, -1...shaded. */ |
| 13 | #eee) /* Bar background color. */ |
| 14 | /* Use style functions to control the appearance of bar(s). */ |
| 15 | FillColorScheme(19) |
| 16 | |
| 17 | BarStyle(all;1;1) /* Bar caps at start and end of bar [0..7] */ |
| 18 | ShadowStyle(all;1 1 3;lightGray) |
| 19 | LabelTexts(5;"Group A: |2f1|%") |
| 20 | LabelTexts(4;"Group B: |2f1|%") |
| 21 | LabelTexts(3;"Group C: |2f1|%") |
| 22 | LabelTexts(2;"Group D: |2f1|%") |
| 23 | LabelTexts(1;"Group E: |2f1|%") |
| 24 | LabelStyle(all;Verdana;9;bold;#555) |
| 25 | LabelOptions(all; /* Bar number. */ |
| 26 | 10; /* Label location [0..11] */ |
| 27 | /* 10...Labels at the begin of the bars - tangential. */ |
| 28 | /* 11...Labels at the begin of the bars - circular. */ |
| 29 | 2; /* Offset - circular. */ |
| 30 | 0) /* Offset - radial. */ |
| 31 | /* Use the Scaling() function to control the value range. */ |
| 32 | |
| 33 | |
| 34 | Background(#f3f6f2;0;0;;;2 2 2;lightGray) |
| 35 | |
| 36 |
| | CIRCULAR_BAR_CHART_08 |
| 1 | OpenDrawing(300;300) |
| 2 | OpenChart(10;10;280;280) |
| 3 | ChartData(832;777;667;638;603;512;475) |
| 4 | |
| 5 | 0; /* Start angle in [deg]. */ |
| 6 | 315; /* Arc angle in [deg]. If negative, go counter-clockwise. */ |
| 7 | 0.5; /* Inner radius minimum. Relative to outer radius. */ |
| 8 | 0.15; /* Bar width. Relative to outer radius. */ |
| 9 | 0.05; /* Bar gap. Relative to outer radius. */ |
| 10 | 0.5; /* Bar background width. Relative to bar width. */ |
| 11 | 0; /* Bar background offset. Relative to bar width. */ |
| 12 | 0; /* Bar background shading: 0...solid, -1...shaded. */ |
| 13 | #eee) /* Bar background color. */ |
| 14 | /* Use style functions to control the appearance of bar(s). */ |
| 15 | FillColorScheme(15) |
| 16 | |
| 17 | BarStyle(all;0;1) /* Bar caps at start and end of bar [0..7] */ |
| 18 | ShadowStyle(all;1 1 3;lightGray) |
| 19 | LabelTexts(1;"Los Angeles |u|") |
| 20 | LabelTexts(2;"Montreal: |u|") |
| 21 | LabelTexts(3;"Toronto: |u|") |
| 22 | LabelTexts(4;"Chicago: |u|") |
| 23 | LabelTexts(5;"Beijing: |u|") |
| 24 | LabelTexts(6;"San Francisco: |u|") |
| 25 | LabelTexts(7;"Vancouver: |u|") |
| 26 | LabelStyle(all;Verdana;9;bold;#555) |
| 27 | LabelOptions(all; /* Bar number. */ |
| 28 | 10; /* Label location [0..11] */ |
| 29 | /* 10...Labels at the begin of the bars - tangential. */ |
| 30 | /* 11...Labels at the begin of the bars - circular. */ |
| 31 | 2; /* Offset - circular. */ |
| 32 | 0) /* Offset - radial. */ |
| 33 | /* Use the Scaling() function to control the value range. */ |
| 34 | |
| 35 | |
| 36 |