Текстовые диаграммы
Расширение позволяет встраивать в тексты статей текстовые столбиковые диаграммы одномерных массивов числовых данных. Использование расширения возможно при наличии файлов x_diag.api, x_diag.php, x_diag.txt, которые не входят в базовую комплектацию системы.
За реализацию действий по выводу текстовых диаграмм ответственна функция vdm() - вывод диаграммы массива.
Функции vdm передаются три параметра:
массив числовых данных;
порядок сортировки (0 или 1), по умолчанию - 0;
число пикселей столбика максимального значения, по умолчанию - 300.
Разметка
~x=massiv("a:200 b:400 c:700 d:300 e:500 f:600 g:400")
@vdm(x)
Вывод
| Максимум | | Больше среднего | | Меньше среднего |
|
| a |
200 |
6,45% |
28,6% |
|
| b |
400 |
12,9% |
57,1% |
|
| c |
700 |
22,6% |
100% |
|
| d |
300 |
9,68% |
42,9% |
|
| e |
500 |
16,1% |
71,4% |
|
| f |
600 |
19,4% |
85,7% |
|
| g |
400 |
12,9% |
57,1% |
|
|
3100 |
100% |
|
|
Вывод представляет собой таблицу, которая включает:
столбец имён индексов массива;
столбец числовых значений массива;
столбец долей значений каждого элемента по отношению к их сумме (%);
столбец долей значений каждого элемента по отношению к максимуму (%);
столбец, заполненный столбиками относительной величины значений по отношению к максимуму.
Столбики синего цвета - значения меньше среднего арифметического, зелёного - больше среднего арифметического, красного - максимальное значение.
Данные таблицы-диаграммы могут быть упорядочены по убыванию значений.
Разметка
@vdm(x,1)
Вывод
| Максимум | | Больше среднего | | Меньше среднего |
|
| c |
700 |
22,6% |
100% |
|
| f |
600 |
19,4% |
85,7% |
|
| e |
500 |
16,1% |
71,4% |
|
| g |
400 |
12,9% |
57,1% |
|
| b |
400 |
12,9% |
57,1% |
|
| d |
300 |
9,68% |
42,9% |
|
| a |
200 |
6,45% |
28,6% |
|
|
3100 |
100% |
|
|
Третий параметр функции позволяет изменить пропорции столбиков диаграммы.
Разметка
@vdm(x,0,500)
Вывод
| Максимум | | Больше среднего | | Меньше среднего |
|
| a |
200 |
6,45% |
28,6% |
|
| b |
400 |
12,9% |
57,1% |
|
| c |
700 |
22,6% |
100% |
|
| d |
300 |
9,68% |
42,9% |
|
| e |
500 |
16,1% |
71,4% |
|
| f |
600 |
19,4% |
85,7% |
|
| g |
400 |
12,9% |
57,1% |
|
|
3100 |
100% |
|
|
Для функции vdm строить массив заранее не обязательно. Вместо массива можно просто передать строку со списком слов в формате ключ:значение, а функция сама преобразует её в массив.
Разметка
@vdm("x1:300 x2:200 x3:400 x4:800 x5:500 x6:600 x7:250")
Вывод
| Максимум | | Больше среднего | | Меньше среднего |
|
| x1 |
300 |
9,84% |
37,5% |
|
| x2 |
200 |
6,56% |
25% |
|
| x3 |
400 |
13,1% |
50% |
|
| x4 |
800 |
26,2% |
100% |
|
| x5 |
500 |
16,4% |
62,5% |
|
| x6 |
600 |
19,7% |
75% |
|
| x7 |
250 |
8,20% |
31,3% |
|
|
3050 |
100% |
|
|