Текстовые диаграммы

Расширение позволяет встраивать в тексты статей текстовые столбиковые диаграммы одномерных массивов числовых данных. Использование расширения возможно, если в комплект поставки программ системы входит файл diag.php.
За реализацию действий по выводу текстовых диаграмм ответственна функция 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%
 
Вывод представляет собой таблицу, которая включает:
столбец имён индексов массива;
столбец числовых значений массива;
столбец долей значений каждого элемента по отношению к их сумме (%);
столбец долей значений каждого элемента по отношению к максимуму (%);
столбец, заполненный столбиками относительной величины значений по отношению к максимуму.
Столбики синего цвета - значения меньше среднего арифметического, зелёного - больше среднего арифметического, красного - максимальное значение.
Данные таблицы-диаграммы могут быть упорядочены по убыванию значений.
Разметка
 @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%
 
Третий параметр функции позволяет изменить пропорции столбиков диаграммы.
Разметка
 @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%
 
Для функции 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%
 
Данные массива могут быть предварительно получены из секций структурированных файлов или из отдельных неструктурированных файлов. Подробнее см. Массивы Ключ/Значение, Массивы структурированных записей.
Оцените публикацию по предложенной шкале
-5  -4  -3  -2  -1  0  +1  +2  +3  +4  +5

Статистика Код