Библиотека деловой графики
Включает в себя классы для создания:
- гистограмм -
BgHistNew(sizeX, sizeY)
- гистограмм с накоплением -
BgHistCumulNew(sizeX, sizeY)
- нормированных гистограмм -
BgNormNew(sizeX, sizeY)
- трехмерных гистограмм -
BgHist3DNew(sizeX, sizeY)
- линейных диаграмм -
BgLineNew(sizeX, sizeY)
- линейных диаграмм с накоплением -
BgLineCumulNew(sizeX, sizeY)
- нормированных линейных диаграмм -
BgLineNormNew(sizeX, sizeY)
- круговых диаграмм -
BgCircleNew(sizeX, sizeY)
- кольцевых диаграмм -
BgRingNew(sizeX, sizeY)
- общий класс -
BgNew(bgType, sizeX, sizeY)
Атрибуты/свойства
Название атрибута |
Значение атрибута |
sizeX | размер рисунка в пикселах по оси X |
sizeY | размер рисунка в пикселах по оси Y |
Методы/функции
создание
bg=BgHistNew(sizeX, sizeY)
bg=BgHistCumulNew(sizeX, sizeY)
bg=BgHistNormNew(sizeX, sizeY)
bg=BgHist3DNew(sizeX, sizeY)
bg=BgLineNew(sizeX, sizeY)
bg=BgLineCumulNew(sizeX, sizeY)
bg=BgLineNormNew(sizeX, sizeY)
bg=BgCircleNew(sizeX, sizeY)
bg=BgRingNew(sizeX, sizeY)
bg=BgNew(bgType, sizeX, sizeY) - общий класс, где bgType - тип графика (см. bggraph.ch)
Метод bg:setData(arr[, legend][, alignLeg][, signat]) --> .t./.f.
Инициализирует начальные значения,
arr - массив данных, на основе которых будет строиться график
legend - легенда, массив
alignLeg - размещение легенды (BG_ALIGN_NONE | BG_ALIGN_TOP | BG_ALIGN_BOTTOM | BG_ALIGN_LEFT | BG_ALIGN_RIGHT),
типы описаны в файле bggraph.ch
signat - значения категорий, массив
Метод bg:setInfo([title][, subTitle][, vrtTitle]) --> .t.
Задает заголовок к графику, подвал и подпись к шкале Y.
Метод bg:setAverage(type[, value]) --> .t./.f.
Устанавливает/снимает режим рисования среднего значения,
type - режим:
0 - не показывать среднее значение
1 - показать среднее значение
2 - показать "критическое" значение
3 - показать и среднее и "критическое" значения
value - "критическое" значение.
Attantion: на текущий момент реализовано только два режима 0/1.
Метод bg:setVolume([volume]) --> volume
Включить/выключить рисование графика в объемном варианте. Метод существует
во всех классах, за исключением трехмерной гистограммы - этот график
всегда рисуется в объеме.
volume - .t./.f. включить/выключить объем
Если метод вызывается без параметра, то прежнее значение volume инвертируется.
Метод bg:drawImage() --> .t./.f.
Нарисовать график.
Метод bg:storeImage(type, filename) --> .t./.f.
Записать полученный рисунок в файл.
type - тип файла GDFILE_PNG | GDFILE_GD | GDFILE_GD2 | GDFILE_XBM | GDFILE_JPEG ,
по умолчанию тип файла GDFILE_PNG
filename - имя файла
Простейший пример использования:
#include "gdinfo.ch"
#include "bggraph.ch"
local bg, data, legend, alignleg, signat
bg := BgHistNew(300, 300)
data := {{12, 156, -34, 104, 45, 78, -34},{34,67, 65,11,-45,-67,90}, {32, 56, 11, 43, 67, 34, 89}}
legend := {"first", "second", 'third', 'fourth'}
signat := {"Sun", "Mon", 'Tu', 'Wed', "Thur", "Fri", "Sat"}
alignleg := BG_ALIGN_RIGHT
bg:setData(data, legend, alignleg, signat)
bg:setInfo("Histogram", "One week of...", "Some digits on the axis...")
/* drew graphic in volume */
bg:setAverage(1)
bg:setVolume(.t.)
bg:drawImage()
/* and store it */
bg:storeImage(GDFILE_PNG, "hist1.png")
/* now the same but 2D */
bg:setAverage(0)
bg:setVolume(.f.)
bg:drawImage()
bg:storeImage(GDFILE_PNG, "hist2.png")
И еще один пример:
#include "gdinfo.ch"
#include "bggraph.ch"
local bg, data, legend, alignleg, signat
bg := BgNew(BG_TYPE_HIST, 300, 300)
data := {{12, 156, -34, 104, 45, 78, -34},{34,67, 65,11,-45,-67,90}, {32, 56, 11, 43, 67, 34, 89}}
legend := {"first", "second", 'third', 'fourth'}
signat := {"Sun", "Mon", 'Tu', 'Wed', "Thur", "Fri", "Sat"}
alignleg := BG_ALIGN_RIGHT
bg:setData(data, legend, alignleg, signat)
bg:setInfo("Histogram", "One week of...", "Some digits on the axis...")
/* drew graphic in volume */
bg:setAverage(1)
bg:setVolume(.t.)
bg:drawImage()
/* and store it */
bg:storeImage(GDFILE_PNG, "hist1.png")
/* now the same but 2D */
bg:setAverage(0)
bg:setVolume(.f.)
bg:drawImage()
bg:storeImage(GDFILE_PNG, "hist2.png")
Гистограмма обыкновенная
отражает значения различных категорий
|
---|
|
|
|
|
Гистограмма с накоплением
показывает вклад каждой категории в общую сумму
|
---|
|
|
|
|
Гистограмма нормированная на 100%
показывает ДОЛЮ каждой категории в общем котле
|
---|
|
|
|
|
Гистограмма объемная
отражает значения различных категорий с раскладкой по рядам
|
---|
|
Круговая диаграмма
показывает вклад каждой категории в общую сумму
|
---|
|
|
Кольцевая диаграмма
показывает вклад каждой категории в общую сумму, подобна круговой диаграмме,
но может отражать несколько рядов данных
|
---|
|
|
© Е.Корнилова, alena@itk.ru, 2000