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 |