ChartLib
Материал из MachineLearning.
(Различия между версиями)
(дополнение, ссылки) |
(уточнения, раздел "Возможные неполадки") |
||
Строка 4: | Строка 4: | ||
== Основные функциональные возможности == | == Основные функциональные возможности == | ||
- | [[Изображение: | + | [[Изображение:DynamicsMLru1.png|200px|thumb|'''Пример:''' динамика роста Ресурса www.MachineLearning.ru.]] |
[[Изображение:ChartLib-Spread.png|200px|thumb|'''Пример:''' детализированный ход биржевых торгов.]] | [[Изображение:ChartLib-Spread.png|200px|thumb|'''Пример:''' детализированный ход биржевых торгов.]] | ||
[[Изображение:ChartLib-Traffic.png|200px|thumb|'''Пример:''' анализ трафика.]] | [[Изображение:ChartLib-Traffic.png|200px|thumb|'''Пример:''' анализ трафика.]] | ||
Строка 27: | Строка 27: | ||
=== Способы вывода и интерактивные возможности === | === Способы вывода и интерактивные возможности === | ||
* ChartLib позволяет выводить графики в окно прикладной программы, на принтер и в файлы графических форматов BMP, EMF, PNG, JPEG, GIF. | * ChartLib позволяет выводить графики в окно прикладной программы, на принтер и в файлы графических форматов BMP, EMF, PNG, JPEG, GIF. | ||
- | * Графические изображения могут быть импортированы в офисные документы через буфер обмена. | + | * Графические изображения могут быть импортированы в офисные документы через буфер обмена. График вставляется в векторном формате EMF, что обеспечивает высокое качество изображения. Пожалуйста, не вставляйте скрин-шоты — это сложнее, и выглядят они хуже! |
* При выводе графика в окно ChartLib позволяет масштабировать и сдвигать изображения, выделять точки и просматривать дополнительную информацию о них, выбирать подмножества точек и выводить по ним отдельную информационную таблицу. | * При выводе графика в окно ChartLib позволяет масштабировать и сдвигать изображения, выделять точки и просматривать дополнительную информацию о них, выбирать подмножества точек и выводить по ним отдельную информационную таблицу. | ||
* Несколько графиков могут быть отображены на одном слайде. При этом поддерживается возможность синхронного масштабирования осей. | * Несколько графиков могут быть отображены на одном слайде. При этом поддерживается возможность синхронного масштабирования осей. | ||
Строка 34: | Строка 34: | ||
=== Возможности применения === | === Возможности применения === | ||
* Библиотека ChartLib хорошо подходит для оформления графиков в книгах, статьях, отчётах, курсовых и выпускных работах. Файлы формата CHD легко генерировать в любых программах, начиная с {{S|MS Excel}}, заканчивая C++ и MatLab. | * Библиотека ChartLib хорошо подходит для оформления графиков в книгах, статьях, отчётах, курсовых и выпускных работах. Файлы формата CHD легко генерировать в любых программах, начиная с {{S|MS Excel}}, заканчивая C++ и MatLab. | ||
- | * Библиотека ChartLib может использоваться для генерации часто обновляемых графиков в Интернете. Файлы графических изображений в форматах PNG, JPEG или GIF могут генерироваться с частотой до нескольких раз в секунду (в зависимости, конечно, от сложности изображения) | + | * Библиотека ChartLib может использоваться для генерации часто обновляемых графиков в Интернете. Файлы графических изображений в форматах PNG, JPEG или GIF могут генерироваться с частотой до нескольких раз в секунду (в зависимости, конечно, от сложности изображения). |
* Библиотека ChartLib переносима под UNIX. | * Библиотека ChartLib переносима под UNIX. | ||
Строка 65: | Строка 65: | ||
=== Инструкция по вставке графиков в LaTeX === | === Инструкция по вставке графиков в LaTeX === | ||
# Шаг 1 — как в предыдущем случае. | # Шаг 1 — как в предыдущем случае. | ||
- | # В меню вьюера <code>chdView</code> выберете '''Сохранить как''' и запишите файл графического изображения в формате EMF. С помощью какой-нибудь программы преобразования EMF в EPS ( | + | # В меню вьюера <code>chdView</code> выберете '''Сохранить как''' и запишите файл графического изображения в формате EMF. С помощью какой-нибудь программы преобразования EMF в EPS сформируйте EPS-файл (Encapsulated PostScript). Для Windows XP есть удобный конвертер [http://www.wmf2eps.de.vu WMF2EPS]. Для Windows Vista используйте печать в PDF-файл и с помощью Acobat Distiller-а экспортируйте его в EPS. |
# Вставьте график командой <code><nowiki>\includegraphics</nowiki></code> из пакета <code>graphicx</code>. Можно задать только горизонтальный размер картинки, либо только вертикальный, либо оба; но в последнем случае автор должен вручную подобрать правильное соотношение размеров. <br/>'''Пример:''' | # Вставьте график командой <code><nowiki>\includegraphics</nowiki></code> из пакета <code>graphicx</code>. Можно задать только горизонтальный размер картинки, либо только вертикальный, либо оба; но в последнем случае автор должен вручную подобрать правильное соотношение размеров. <br/>'''Пример:''' | ||
<pre> | <pre> | ||
- | \includegraphics[width=100mm,height=60mm]{chd/ | + | \includegraphics[width=100mm,height=60mm]{chd/Figure7.eps} |
</pre> | </pre> | ||
+ | |||
+ | === Возможные неполадки и их устранение === | ||
+ | # ''График как-то странно искажается, как будто у всех числовых данных обнулили дробную часть.'' | ||
+ | #* Надо настроить десятичный разделитель с помощью команды <code><nowiki>#Syntax</nowiki></code>. | ||
+ | # ''Вместо русских букв выводятся кракозябры.'' | ||
+ | #* Кодировка chd-файла должна быть либо Windows-1251, либо задаваться в начале chd-файла явно, командой <code><nowiki>#Encoding</nowiki></code>. | ||
+ | # ''При сохранении GIF-файла все цвета неприятно исказились.'' | ||
+ | #* Формат GIF поддерживает только 256 цветов. Если на графике есть градиентные заливки, этого может не хватить. Используйте формат PNG. | ||
+ | # ''При сохранении PNG-файла серый фон изменился на чёрный.'' | ||
+ | #* Фон по умолчанию прозрачный. Подложка окна по умолчанию серая. Подложка битмэпа в библиотеке GD по умолчанию чёрная. Накакая заливка фона по умолчанию не делается, чтобы сэкономить немного времени. Задайте цвет фона командой <code><nowiki>#Slide.Background</nowiki></code>. | ||
+ | # ''При сохранении PNG-файла пропали все надписи.'' | ||
+ | #* Установите путь к CLF-шрифтам командой <code><nowiki>#CLFontsDir</nowiki></code>. Лучше это сделать один раз в конфигурационном файле <code><nowiki>config.chd</nowiki></code>. | ||
+ | # ''При сохранении PNG-файла график выглядит немного не так, как в окне; например, круглые точки рисуются похуже.'' | ||
+ | #* Алгоритмы отрисовки примитивов в библиотеке GD не такие, как в Windows. Если очень нужен аутентичный битмап, сохраните график как BMP (это делается функцией Windows, а не GD), и затем конвертируйте BMP в PNG. | ||
== Ссылки == | == Ссылки == |
Версия 20:41, 7 мая 2010
ChartLib — библиотека деловой и научной графики для аналитических исследований, генерации графиков в Internet, подготовки графиков для публикаций и отчетов, встраивания графиков в приложения на Delphi и C#.
Содержание |
Основные функциональные возможности
- ChartLib позволяет строить графики следующих типов:
- двумерные графики, содержащие точки, линии и многоугольники;
- графики с разрывной горизонтальной осью;
- многодневные графики;
- биржевые свечные графики;
- вертикальные и горизонтальные гистограммы;
- сетевые и древовидные схемы.
- В ChartLib нет предопределённых типов графиков. Формирование графика происходит на более низком уровне из точек, боксов, свечей, линий и заливок, с помощью которых можно формировать как стандартные, так и оригинальные способы представления данных.
- ChartLib имеет богатые возможности для работы с цветами, заливками, рамками, формой объектов, и т. д., позволяя создавать профессиональный дизайн графиков.
Формат описания данных
- ChartLib имеет собственный формат входных данных CHD (CHart Description). Файлы формата CHD — это обычные текстовые файлы, в которых записываются как исходные данные, так и командные строки, задающие структуру и внешний вид графика.
- Поддерживается более 150 команд, более 50 свойств точек графика, имеется встроенный калькулятор арифметических выражений.
Способы вывода и интерактивные возможности
- ChartLib позволяет выводить графики в окно прикладной программы, на принтер и в файлы графических форматов BMP, EMF, PNG, JPEG, GIF.
- Графические изображения могут быть импортированы в офисные документы через буфер обмена. График вставляется в векторном формате EMF, что обеспечивает высокое качество изображения. Пожалуйста, не вставляйте скрин-шоты — это сложнее, и выглядят они хуже!
- При выводе графика в окно ChartLib позволяет масштабировать и сдвигать изображения, выделять точки и просматривать дополнительную информацию о них, выбирать подмножества точек и выводить по ним отдельную информационную таблицу.
- Несколько графиков могут быть отображены на одном слайде. При этом поддерживается возможность синхронного масштабирования осей.
- Несколько слайдов могут быть собраны в фильм (слайд-шоу). При выводе графика в окно можно включить режим просмотра фильма, когда слайды будут сменять друг друга автоматически.
Возможности применения
- Библиотека ChartLib хорошо подходит для оформления графиков в книгах, статьях, отчётах, курсовых и выпускных работах. Файлы формата CHD легко генерировать в любых программах, начиная с MS Excel, заканчивая C++ и MatLab.
- Библиотека ChartLib может использоваться для генерации часто обновляемых графиков в Интернете. Файлы графических изображений в форматах PNG, JPEG или GIF могут генерироваться с частотой до нескольких раз в секунду (в зависимости, конечно, от сложности изображения).
- Библиотека ChartLib переносима под UNIX.
Пакет ChartLive
На основе библиотеки ChartLib разработан пакет программ ChartLive для MS Windows, в состав которого входят:
- Приложение
chdView.exe
для просмотра файлов формата CHD. - Утилита
chdConv.exe
для преобразования файлов формата CHD в графические изображения форматов BMP, EMF, PNG, JPEG или GIF. - Утилита
ttf2clf.exe
для формирования растровых шрифтов внутреннего формата CLF, используемых при генерации растровых графических изображений PNG, JPEG или GIF. - Компонент
SliChart.pas
для встраивания графиков в собственные приложения, разрабатываемые в среде DELPHI. - Компонент
SliChart.csh
для встраивания графиков в собственные приложения, разрабатываемые в среде Microsoft Visual Studio на языке C#. - Документация, доступная также через сайт проекта.
- Примеры CHD-файлов.
Свободно распространяемая демо-версия
В свободно распространяемую демо-версию пакета ChartLive входит только программа chdView.exe
, примеры CHD-файлов и документация. Функциональность библиотеки ChartLib в демо-версии поддерживается практически полностью.
Демо-версия исключает любые коммерческие применения программы. Можно свободно использовать её только для учебных и научных целей.
Инструкция по установке
- Распаковать архив в выбранной директории, например,
C:\ChartLib
. - Рекомендуется зарегистрировать тип файлов с расширением chd, задав команду открытия chd-файлов:
-
С:\ChartLib\bin\chdView.exe C:\ChartLib\bin\config.chd "%1"
-
- В файле
C:\ChartLib\bin\config.chd
изменить строку, устанавливающую местоположение растровых шрифтов, используемых при сохранении графических файлов форматов PNG, JPEG и GIF (последний слэш в этой команде обязателен!):-
#CLFontsDir= D:\ChartLib\bin\clFonts\
-
Инструкция по вставке графиков в MS Word
- Создайте CHD-файл. Откройте его вьюером
chdView
и проверьте, что он правильно отображается. Проверьте файлchdView.log
, который записывается в текущую директорию, в нём не должно быть сообщений об ошибках. При необходимости установите размер окна и границы отображаемой области. Изображение будет именно таким, каким вы видите его в окне. - Заберите график в буфер обмена (
Ctrl+Ins
), в Ворде скопируйте буфер в нужное место документа (Shift+Ins
). График вставляется в векторном формате EMF (Enhanced Windows Metafile). Для изменения размера графика тяните рамку за уголок, а не за грани; иначе график окажется искажён.
Инструкция по вставке графиков в LaTeX
- Шаг 1 — как в предыдущем случае.
- В меню вьюера
chdView
выберете Сохранить как и запишите файл графического изображения в формате EMF. С помощью какой-нибудь программы преобразования EMF в EPS сформируйте EPS-файл (Encapsulated PostScript). Для Windows XP есть удобный конвертер WMF2EPS. Для Windows Vista используйте печать в PDF-файл и с помощью Acobat Distiller-а экспортируйте его в EPS. - Вставьте график командой
\includegraphics
из пакетаgraphicx
. Можно задать только горизонтальный размер картинки, либо только вертикальный, либо оба; но в последнем случае автор должен вручную подобрать правильное соотношение размеров.
Пример:
\includegraphics[width=100mm,height=60mm]{chd/Figure7.eps}
Возможные неполадки и их устранение
- График как-то странно искажается, как будто у всех числовых данных обнулили дробную часть.
- Надо настроить десятичный разделитель с помощью команды
#Syntax
.
- Надо настроить десятичный разделитель с помощью команды
- Вместо русских букв выводятся кракозябры.
- Кодировка chd-файла должна быть либо Windows-1251, либо задаваться в начале chd-файла явно, командой
#Encoding
.
- Кодировка chd-файла должна быть либо Windows-1251, либо задаваться в начале chd-файла явно, командой
- При сохранении GIF-файла все цвета неприятно исказились.
- Формат GIF поддерживает только 256 цветов. Если на графике есть градиентные заливки, этого может не хватить. Используйте формат PNG.
- При сохранении PNG-файла серый фон изменился на чёрный.
- Фон по умолчанию прозрачный. Подложка окна по умолчанию серая. Подложка битмэпа в библиотеке GD по умолчанию чёрная. Накакая заливка фона по умолчанию не делается, чтобы сэкономить немного времени. Задайте цвет фона командой
#Slide.Background
.
- Фон по умолчанию прозрачный. Подложка окна по умолчанию серая. Подложка битмэпа в библиотеке GD по умолчанию чёрная. Накакая заливка фона по умолчанию не делается, чтобы сэкономить немного времени. Задайте цвет фона командой
- При сохранении PNG-файла пропали все надписи.
- Установите путь к CLF-шрифтам командой
#CLFontsDir
. Лучше это сделать один раз в конфигурационном файлеconfig.chd
.
- Установите путь к CLF-шрифтам командой
- При сохранении PNG-файла график выглядит немного не так, как в окне; например, круглые точки рисуются похуже.
- Алгоритмы отрисовки примитивов в библиотеке GD не такие, как в Windows. Если очень нужен аутентичный битмап, сохраните график как BMP (это делается функцией Windows, а не GD), и затем конвертируйте BMP в PNG.
Ссылки
- Участник:Vokov — страница разработчика.
- ChartLib — старая страница проекта.
- Полная документация.
- ChartLiveDemo.zip, 1.8Мб — свободно распространяемая демо-версия.
- ChartLiveTutorial.zip, 1.0Мб — презентация по формату CHD (PowerPoint).