ViolinPlot
ViolinPlot ( appearanceConst ; seriesGap ; proportionalSeries ; centerLineStroke ; centerLineColor ; centerLineLocation ; sideFlag )
Argument | Type | Range | Default | Note |
---|---|---|---|---|
appearanceConst | int | 0..127 | default | |
seriesGap | num | 0..1000 | 100 | In % of series width |
proportionalSeries | int | 0..1 | 0 | |
centerLineStroke | num | 0..1000 | 1 | |
centerLineColor | rgba | 0..255 | lightGray | |
centerLineLocation | int | 0..1 | 0 | 0...back, 1...front |
sideFlag | int | 0..3 | 0 | xmCHART 5.0.6 or higher required |
Examples
ViolinPlot(shadow;0;1)
Description
Violin plots are used to represent statistical distributions. The 1st argument appearanceConstants makes it possible to rotate the chart 90 degrees (appearanceConstants = horizontal) and to add shadow (appearanceConstants = shadow) to the plots. Appearance constants can be combined by using a plus sign "+". The fills, borders and shadows can be varied by using the style functions FillColorScheme() , FillStyle() , BorderColorScheme() , BorderStyle() and ShadowStyle() .
| VIOLIN_PLOT_01 |
1 | OpenDrawing(250;120) |
2 | ChartData(1 1.5 8 9.5 4.5 7.2 3.3 4 5 3.1 3.1 9 3 6) |
3 | |
4 | /* Set up styles. */ |
5 | BorderStyle(1;none) |
6 | FillStyle(1;#f003) |
7 | /* Set up axes. */ |
8 | |
9 | AxisMajorTicks(all;0) |
10 | /* Set up grid. */ |
11 | MajorGridLineColors(x;y;#ccc) |
12 | MajorGridLineWidths(x;y;0.25) |
13 | MajorGridLineWidths(y;x;0) |
14 |
By using the argument seriesGap the space between distributions can be controlled. The argument is to be entered in percent of the series width. As the default, the space between two distributions is exactly one series width, i.e. seriesGap = 100. The argument proportionalSeries is useful for comparing distributions. By defining proportionalSeries = on the distribution scale is identical for all distributions and does not depend on the value range of each individual distribution. The stroke and color of an optional center line can be controlled by using the arguments centerLineStroke and centerLineColor. By using centerLineLocation = 1 the center line can be positioned in the foreground.
By using the argument sideFlag the arrangement of the distributions can be controlled.
sideFlag = 0: The distributions are drawn symmetrically (default).
sideFlag = 1: The distributions are drawn only left of the center line (or above the center line if the plot is horizontal).
sideFlag = 2: The distributions are drawn only right of the center line (or below the center line if the plot is horizontal).
sideFlag = 3: The distribution of value series i is drawn on the left, the distribution of value series i+1 is drawn on the right.
| VIOLIN_PLOT_02 |
1 | OpenDrawing(250;120) |
2 | ChartData(1 9.1 9.5 1.5 8 4.5 7.2 3.3 4 5 3.1 3.1 9 3 6 9.2) |
3 | ViolinPlot(horizontal;;;0.25;red) |
4 | /* Set up styles. */ |
5 | BorderStyle(1;none) |
6 | FillStyle(1;#f003) |
7 | /* Set up axes. */ |
8 | |
9 | |
10 | AxisMajorTicks(all;0) |
11 | /* Set up grid. */ |
12 | MajorGridLineWidths(x;y;0) |
13 | MajorGridLineWidths(y;x;0.25) |
14 | MajorGridLineColors(y;x;#ccc) |
15 |
| VIOLIN_PLOT_03 |
1 | OpenDrawing(250;120) |
2 | ChartData(1 9.1 9.5 1.5 8 4.5 7.2 3.3 4 5 3.1 3.1 9 3 6 9.2; |
3 | 1 8.5 8 9.5 8.5 7.2 8.3 4 5 8.1 3.1 9 8 6) |
4 | ViolinPlot(horizontal;50;0;0.25;gray) |
5 | /* Set up styles. */ |
6 | |
7 | FillStyle(1;#f003) |
8 | FillStyle(2;#00f3) |
9 | /* Set up axes. */ |
10 | |
11 | |
12 | |
13 | AxisMajorTicks(all;0) |
14 | AxisMajorTickLabelTexts(x;"";"|u|";"|u|";"|u|";"|u|") |
15 | /* Set up grid. */ |
16 | MajorGridLineWidths(x;y;0) |
17 | MajorGridLineWidths(y;x;0;0.25;0.25;0.25;0.25) |
18 | MajorGridLineColors(y;x;#ccc) |
19 |
| VIOLIN_PLOT_04 |
1 | OpenDrawing(400;260) |
2 | |
3 | |
4 | 94 94 97 96 99 95 83 95 93 89 92 98 62 86 99 96 99 98 96 97 88 94 100 97 90 97 93 96 84 78 100 97 100 86 89 95 98 97 80 97 98 87 91 95 84 97; |
5 | 83 77 86 86 78 87 67 74 81 90 84 72 68 79 87 81 68 75 90 73 81 75 77 93 74 81 81 77 90 73 77 80 76 87 82 81 91 83 71 91 78 82 78 90 76 74; |
6 | 66 52 82 78 67 81 79 75 63 64 78 89 59 52 5 86 73 82 77 50 58 85 87 70 78 49 62 77 49 60 58 82 50 50 62 73 70 47 71 86 91 67 68 98 93 55; |
7 | 67 74 75 73 71 73 39 72 65 74 58 76 62 70 73 68 66 64 80 75 80 69 83 85 63 67 73 89 64 67 70 68 73 59 92 79 90 88 82 89 58 69 71 71 66 62; |
8 | 52 52 48 50 50 52 44 51 48 52 48 52 50 49 50 52 48 48 52 49 52 51 51 48 50 48 51 48 48 49 51 51 50 49 41 52 51 50 51 47 51 45 51 52 52 47; |
9 | 21 6 18 19 5 4 18 21 16 18 22 16 8 12 100 15 14 10 25 24 19 7 2 16 18 11 14 12 9 27 14 20 3 20 4 10 6 18 12 14 4 10 7 9 26 19; |
10 | 27 7 13 15 10 20 29 12 12 25 14 6 17 7 36 8 5 39 8 12 7 15 6 12 20 3 11 3 14 28 15 13 4 32 29 3 8 13 8 12 14 20 12 6 8 14; |
11 | 5 7 0 1 1 2 8 2 7 11 13 1 5 3 96 2 1 2 3 7 6 5 7 2 2 4 4 2 1 9 0 9 2 4 4 1 1 7 1 3 1 6 3 3 2 7) |
12 | ViolinPlot(horizontal;100;0;0.25;#ddd) |
13 | /* Set up styles. */ |
14 | |
15 | FillColorScheme(15;solid;0.75) |
16 | ScalingOptions(y;on) /* Reverse y-axis. */ |
17 | /* Set up axes. */ |
18 | |
19 | |
20 | AxisMajorTicks(all;0) |
21 | AxisMajorTickLabelStyle(x;Verdana;10;plain;#555) |
22 | AxisMajorTickLabelTexts(x;"|u|%") |
23 | AxisMajorTickLabelTexts(y;"Q-1";"Q-2";"Q-3";"Q-4";"Q-5";"Q-6";"Q-7";"Q-8") |
24 | AxisMajorTickLabelStyle(y;Verdana;10;plain;#555) |
25 | AxisMajorTickLabelOptions(y;;-10) |
26 | /* Set up grid. */ |
27 | |
28 | MajorGridLineColors(y;x;#ccc) |
29 | MajorGridLineWidths(y;x;0.25) |
30 | |
31 |
| VIOLIN_PLOT_05 |
1 | OpenDrawing(300;200) |
2 | |
3 | |
4 | 94 94 97 96 99 95 83 95 93 89 92 98 62 86 99 96 99 98 96 97 88 94 100 97 90 97 93 96 84 78 100 97 100 86 89 95 98 97 80 97 98 87 91 95 84 97; |
5 | 83 77 86 86 78 87 67 74 81 90 84 72 68 79 87 81 68 75 90 73 81 75 77 93 74 81 81 77 90 73 77 80 76 87 82 81 91 83 71 91 78 82 78 90 76 74; |
6 | 66 52 82 78 67 81 79 75 63 64 78 89 59 52 5 86 73 82 77 50 58 85 87 70 78 49 62 77 49 60 58 82 50 50 62 73 70 47 71 86 91 67 68 98 93 55; |
7 | 67 74 75 73 71 73 39 72 65 74 58 76 62 70 73 68 66 64 80 75 80 69 83 85 63 67 73 89 64 67 70 68 73 59 92 79 90 88 82 89 58 69 71 71 66 62) |
8 | ViolinPlot(horizontal+shadow;100;0;0.25;#ddd;;3) |
9 | /* Set up styles. */ |
10 | |
11 | FillStyle(1;#005ca988) |
12 | FillStyle(2;#96b05f88) |
13 | FillStyle(3;#005ca988) |
14 | FillStyle(4;#96b05f88) |
15 | ShadowStyle(all;1 1 3;lightGray) |
16 | /* Set up axes. */ |
17 | |
18 | ScalingOptions(y;on) /* Reverse y-axis. */ |
19 | |
20 | AxisMajorTicks(all;0) |
21 | AxisMajorTickLabelStyle(x;Verdana;10;plain;#555) |
22 | AxisMajorTickLabelTexts(x;"|u|%") |
23 | AxisMajorTickLabelTexts(y;"D-1/2";"D-3/4") |
24 | AxisMajorTickLabelStyle(y;Verdana;10;plain;#555) |
25 | AxisMajorTickLabelOptions(y;;-10) |
26 | /* Set up grid. */ |
27 | |
28 | MajorGridLineColors(y;x;#ddd) |
29 | MajorGridLineWidths(y;x;0.25) |
30 | |
31 |