ChartLib
Материал из MachineLearning.
(Различия между версиями)
												
			
			м   | 
				м  (→Ссылки)  | 
			||
| (16 промежуточных версий не показаны.) | |||
| Строка 4: | Строка 4: | ||
== Основные функциональные возможности ==  | == Основные функциональные возможности ==  | ||
| - | [[Изображение:ChartLib-Spread.  | + | [[Изображение:DynamicsMLru1.png|200px|thumb|'''Пример:''' динамика роста Ресурса www.MachineLearning.ru.]]  | 
| - | [[Изображение:ChartLib-Traffic.  | + | [[Изображение:ChartLib-Spread.png|200px|thumb|'''Пример:''' детализированный ход биржевых торгов.]]  | 
| + | [[Изображение:ChartLib-Traffic.png|200px|thumb|'''Пример:''' анализ трафика.]]  | ||
| + | [[Изображение:ChartLib-HyperGeom.png|200px|thumb|'''Пример:''' плотность и функция [[гипергеометрическое распределение|гипергеометрического распределения]].]]  | ||
| + | [[Изображение:ChartLib-1NNProfile.png|200px|thumb|'''Пример:''' три модельные выборки и их [[профиль компактности|профили компактности]].]]  | ||
| + | [[Изображение:ChartLib-EffectiveShatterCoeff.png|200px|thumb|'''Пример:''' локальный эффективный коэффициент разнообразия правил-конъюнкций в задаче классификации UCI:Hepatitis.]]  | ||
* ChartLib позволяет строить графики следующих типов:  | * ChartLib позволяет строить графики следующих типов:  | ||
| Строка 23: | Строка 27: | ||
=== Способы вывода и интерактивные возможности ===  | === Способы вывода и интерактивные возможности ===  | ||
* ChartLib позволяет выводить графики в окно прикладной программы, на принтер и в файлы графических форматов BMP, EMF, PNG, JPEG, GIF.  | * ChartLib позволяет выводить графики в окно прикладной программы, на принтер и в файлы графических форматов BMP, EMF, PNG, JPEG, GIF.  | ||
| - | * Графические изображения могут быть импортированы в офисные документы через буфер обмена.  | + | * Графические изображения могут быть импортированы в офисные документы через буфер обмена. График вставляется в векторном формате EMF, что обеспечивает высокое качество изображения. Пожалуйста, не вставляйте скрин-шоты — это сложнее, и выглядят они хуже!   | 
* При выводе графика в окно ChartLib позволяет масштабировать и сдвигать изображения, выделять точки и просматривать дополнительную информацию о них, выбирать подмножества точек и выводить по ним отдельную информационную таблицу.  | * При выводе графика в окно ChartLib позволяет масштабировать и сдвигать изображения, выделять точки и просматривать дополнительную информацию о них, выбирать подмножества точек и выводить по ним отдельную информационную таблицу.  | ||
* Несколько графиков могут быть отображены на одном слайде. При этом поддерживается возможность синхронного масштабирования осей.  | * Несколько графиков могут быть отображены на одном слайде. При этом поддерживается возможность синхронного масштабирования осей.  | ||
| Строка 30: | Строка 34: | ||
=== Возможности применения ===  | === Возможности применения ===  | ||
* Библиотека ChartLib хорошо подходит для оформления графиков в книгах, статьях, отчётах, курсовых и выпускных работах. Файлы формата CHD легко генерировать в любых программах, начиная с {{S|MS Excel}}, заканчивая C++ и MatLab.  | * Библиотека ChartLib хорошо подходит для оформления графиков в книгах, статьях, отчётах, курсовых и выпускных работах. Файлы формата CHD легко генерировать в любых программах, начиная с {{S|MS Excel}}, заканчивая C++ и MatLab.  | ||
| - | * Библиотека ChartLib может использоваться для генерации часто обновляемых графиков в Интернете   | + | * Библиотека ChartLib может использоваться для генерации часто обновляемых графиков в Интернете. Файлы графических изображений в форматах PNG, JPEG или GIF могут генерироваться с частотой до нескольких раз в секунду (в зависимости, конечно, от сложности изображения).   | 
* Библиотека ChartLib переносима под UNIX.  | * Библиотека ChartLib переносима под UNIX.  | ||
| Строка 46: | Строка 50: | ||
В свободно распространяемую демо-версию пакета '''ChartLive''' входит только программа <code>chdView.exe</code>, примеры CHD-файлов и документация. Функциональность библиотеки ChartLib в демо-версии поддерживается практически полностью.  | В свободно распространяемую демо-версию пакета '''ChartLive''' входит только программа <code>chdView.exe</code>, примеры CHD-файлов и документация. Функциональность библиотеки ChartLib в демо-версии поддерживается практически полностью.  | ||
| - | Демо-версия исключает любые коммерческие применения программы. Можно свободно использовать   | + | Демо-версия исключает любые коммерческие применения программы. Можно свободно использовать её только для учебных и научных целей.  | 
=== Инструкция по установке ===  | === Инструкция по установке ===  | ||
| - | # Распаковать архив в выбранной директории, например, <code><nowiki>  | + | # Распаковать архив в выбранной директории, например, <code><nowiki>D:\ChartLib</nowiki></code>.  | 
# Рекомендуется зарегистрировать тип файлов с расширением chd, задав команду открытия chd-файлов:  | # Рекомендуется зарегистрировать тип файлов с расширением chd, задав команду открытия chd-файлов:  | ||
| - | #:<code><nowiki>  | + | #: <code><nowiki>D:\ChartLib\bin\chdView.exe D:\ChartLib\bin\config.chd "%1"</nowiki></code>  | 
| - | # В файле <code><nowiki>  | + | # В файле <code><nowiki>D:\ChartLib\bin\config.chd</nowiki></code> изменить строку, устанавливающую местоположение растровых шрифтов, используемых при сохранении графических файлов форматов PNG, JPEG и GIF (последний слэш в этой команде обязателен!):  | 
| - | #:<code><nowiki>#CLFontsDir= D:\ChartLib\bin\clFonts\</nowiki></code>  | + | #: <code><nowiki>#CLFontsDir= D:\ChartLib\bin\clFonts\</nowiki></code>  | 
| + | |||
| + | === Инструкция по вставке графиков в MS Word ===  | ||
| + | # Создайте CHD-файл. Откройте его вьюером <code>chdView</code> и проверьте, что он правильно отображается. Проверьте файл <code>chdView.log</code>, который записывается в текущую директорию, в нём не должно быть сообщений об ошибках. При необходимости установите размер окна и границы отображаемой области. Изображение будет именно таким, каким вы видите его в окне.  | ||
| + | # Заберите график в буфер обмена (<code>Ctrl+Ins</code>), в Ворде скопируйте буфер в нужное место документа (<code>Shift+Ins</code>). График вставляется в векторном формате EMF (Enhanced Windows Metafile). Для изменения размера графика тяните рамку за уголок, а не за грани; иначе график окажется искажён.  | ||
| + | |||
| + | === Инструкция по вставке графиков в LaTeX ===  | ||
| + | # Создайте CHD-файл. Откройте его вьюером <code>chdView</code> и проверьте, что он правильно отображается. Проверьте файл <code>chdView.log</code>, который записывается в текущую директорию, в нём не должно быть сообщений об ошибках. При необходимости установите размер окна и границы отображаемой области. Изображение будет именно таким, каким вы видите его в окне.  | ||
| + | # Теперь график надо записать в векторном формате EPS. Есть два способа:    | ||
| + | #* В меню вьюера <code>chdView</code> выберете '''Сохранить как''' и запишите файл графического изображения в формате EMF. С помощью какой-нибудь программы преобразования EMF в EPS сформируйте EPS-файл (Encapsulated PostScript). Есть удобные конвертеры: [http://www.wmf2eps.de.vu WMF2EPS], из дистрибутива LyX: [http://wiki.lyx.org/Windows/MetafileToEPSConverter Metafile to EPS Converter].   | ||
| + | #* В меню вьюера <code>chdView</code> выберете '''Печать''' и напечатайте график на виртуальном PDF-принтере. Откройте PDF-файл с помощью Adobe Acobat. Воспользуйтесь '''Tools / Advanced Editing / Crop Tool''', чтобы выделить область графика, иначе он выводится в верхней части страницы размера А4. Наконец, с помощью '''Export / Encapsulated Postscript''' создайте EPS-файл.  | ||
| + | # Вставьте график командой <code><nowiki>\includegraphics</nowiki></code> из пакета <code>graphicx</code>. Можно задать только горизонтальный размер картинки, либо только вертикальный, либо оба; но в последнем случае автор должен вручную подобрать правильное соотношение размеров. <br/>'''Пример:'''  | ||
| + | #: <code><nowiki>\begin{figure}[t]</nowiki></code>  | ||
| + | #: <code><nowiki>\includegraphics[width=100mm,height=60mm]{Figure7.eps}</nowiki></code>  | ||
| + | #: <code><nowiki>\caption{Подпись под рисунком.}</nowiki></code>  | ||
| + | #: <code><nowiki>\label{fig7}</nowiki></code>  | ||
| + | #: <code><nowiki>\end{figure}</nowiki></code>  | ||
| + | |||
| + | === Возможные неполадки и их устранение ===  | ||
| + | # ''График как-то странно искажается, как будто у всех числовых данных обнулили дробную часть.''  | ||
| + | #* Надо настроить десятичный разделитель с помощью команды <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.  | ||
== Ссылки ==  | == Ссылки ==  | ||
| - | * [http://www.ccas.ru/voron/chartlib.html ChartLib] — страница проекта  | + | * [[Участник:Vokov]] — страница разработчика.  | 
| - | + | * [http://www.ccas.ru/voron/chartlib.html ChartLib] — старая страница проекта.  | |
| - | + | ||
* [http://www.ccas.ru/frc/chartlive/intro.html Полная документация].  | * [http://www.ccas.ru/frc/chartlive/intro.html Полная документация].  | ||
| + | * [[Media:ChartLiveDemo.zip|ChartLiveDemo.zip, 1.8Мб]] — свободно распространяемая демо-версия.  | ||
| + | * [[Media:ChartLiveTutorial.zip|ChartLiveTutorial.zip, 1.0Мб]] — презентация-тьюториал по формату CHD (PowerPoint).  | ||
| + | * [[Media:ChartLiveTutorial.pdf|ChartLiveTutorial.pdf, 1.5Мб]] — презентация-тьюториал по формату CHD (в формате PDF).  | ||
[[Категория:Инструменты и технологии]]  | [[Категория:Инструменты и технологии]]  | ||
Текущая версия
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 в демо-версии поддерживается практически полностью.
Демо-версия исключает любые коммерческие применения программы. Можно свободно использовать её только для учебных и научных целей.
Инструкция по установке
-  Распаковать архив в выбранной директории, например, 
D:\ChartLib. -  Рекомендуется зарегистрировать тип файлов с расширением chd, задав команду открытия chd-файлов:
-  
D:\ChartLib\bin\chdView.exe D:\ChartLib\bin\config.chd "%1" 
 -  
 -  В файле 
D:\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
-  Создайте CHD-файл. Откройте его вьюером 
chdViewи проверьте, что он правильно отображается. Проверьте файлchdView.log, который записывается в текущую директорию, в нём не должно быть сообщений об ошибках. При необходимости установите размер окна и границы отображаемой области. Изображение будет именно таким, каким вы видите его в окне. -  Теперь график надо записать в векторном формате EPS. Есть два способа:  
-  В меню вьюера 
chdViewвыберете Сохранить как и запишите файл графического изображения в формате EMF. С помощью какой-нибудь программы преобразования EMF в EPS сформируйте EPS-файл (Encapsulated PostScript). Есть удобные конвертеры: WMF2EPS, из дистрибутива LyX: Metafile to EPS Converter. -  В меню вьюера 
chdViewвыберете Печать и напечатайте график на виртуальном PDF-принтере. Откройте PDF-файл с помощью Adobe Acobat. Воспользуйтесь Tools / Advanced Editing / Crop Tool, чтобы выделить область графика, иначе он выводится в верхней части страницы размера А4. Наконец, с помощью Export / Encapsulated Postscript создайте EPS-файл. 
 -  В меню вьюера 
 -  Вставьте график командой 
\includegraphicsиз пакетаgraphicx. Можно задать только горизонтальный размер картинки, либо только вертикальный, либо оба; но в последнем случае автор должен вручную подобрать правильное соотношение размеров.
Пример:-  
\begin{figure}[t] -  
\includegraphics[width=100mm,height=60mm]{Figure7.eps} -  
\caption{Подпись под рисунком.} -  
\label{fig7} -  
\end{figure} 
 -  
 
Возможные неполадки и их устранение
-  График как-то странно искажается, как будто у всех числовых данных обнулили дробную часть.
-  Надо настроить десятичный разделитель с помощью команды 
#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).
 - ChartLiveTutorial.pdf, 1.5Мб — презентация-тьюториал по формату CHD (в формате PDF).
 

