Машинное обучение и анализ данных (журнал)/Оформление графиков
Материал из MachineLearning.
(Новая: Практически все популярные пакеты рисуют графики с подписями, которые трудно читать на бумаге и на сл...) |
(→Пример крутой картинки, сделанной на Python) |
||
(22 промежуточные версии не показаны) | |||
Строка 1: | Строка 1: | ||
- | Практически все популярные пакеты рисуют графики с подписями, которые трудно читать на бумаге и на слайдах из-за малого размера шрифта. Шрифт на графиках (подписи осей и цифры на осях) должны быть такого же размера, что и основной текст. Подпись всего графика (как правило, делается командой title) в коде не нужна, так как ее роль играет подпись рисунка (\caption{Подпись}) в статье. | + | {{Main|Машинное обучение и анализ данных (журнал)}} |
+ | |||
+ | Практически все популярные пакеты рисуют графики с подписями, которые трудно читать на бумаге и на слайдах из-за малого размера шрифта. Шрифт на графиках (подписи осей и цифры на осях) должны быть такого же размера, что и основной текст. Подпись всего графика (как правило, делается командой title) в коде не нужна, так как ее роль играет подпись рисунка (\caption{Подпись}) в статье. Пример графика с [[Media:PhonesAccelerometer.pdf|сигналами акселерометра]]. | ||
[[Изображение:ModelBreadSw.png|200px|thumb|Функция ошибки]] | [[Изображение:ModelBreadSw.png|200px|thumb|Функция ошибки]] | ||
Строка 24: | Строка 26: | ||
saveas(h,'ModelOne.png', 'png'); | saveas(h,'ModelOne.png', 'png'); | ||
</source> | </source> | ||
+ | |||
+ | Код для Python: | ||
+ | <source lang="python"> | ||
+ | from matplotlib import pylab as plt | ||
+ | plt.rcParams['font.family'] = 'DejaVu Serif' | ||
+ | plt.rcParams['lines.linewidth'] = 2 | ||
+ | plt.rcParams['lines.markersize'] = 12 | ||
+ | plt.rcParams['xtick.labelsize'] = 24 | ||
+ | plt.rcParams['ytick.labelsize'] = 24 | ||
+ | plt.rcParams['legend.fontsize'] = 24 | ||
+ | plt.rcParams['axes.titlesize'] = 36 | ||
+ | plt.rcParams['axes.labelsize'] = 24 | ||
+ | ### Сохранение изображения ### | ||
+ | plt.savefig('1.svg') # Поддерживаемые форматы: eps, jpeg, jpg, pdf, pgf, png, ps, raw, rgba, svg, svgz, tif, tiff | ||
+ | </source> | ||
+ | |||
+ | При значительном количестве рисунков рекомендуется группировать иx в одном окружении {figure}, используя пакет subfig: | ||
+ | |||
+ | <source lang="LaTeX"> | ||
+ | \usepackage{subfig} | ||
+ | </source> | ||
+ | |||
+ | Для отображения русских букв в подписях к графикам рекомендуется использовать команду: | ||
+ | <source lang="LaTeX"> | ||
+ | \renewcommand{\thesubfigure}{\asbuk{subfigure}} | ||
+ | </source> | ||
+ | |||
+ | |||
+ | <source lang="LaTeX"> | ||
+ | \begin{figure}[!htbp] | ||
+ | \centering | ||
+ | \subfloat[Исходные признаки]{\includegraphics[width=0.5\textwidth]{testing_vs_learning_auc_init_german.eps}} | ||
+ | \subfloat[Разделенные признаки]{\includegraphics[width=0.5\textwidth]{testing_vs_learning_auc_edit_german.eps}}\\ | ||
+ | \caption{Зависимость площади AUC под ROC-кривой, процента ошибок и эмпирического риска для исходных и разделенных признаков | ||
+ | от числа итераций метода градиентного спуска} | ||
+ | \label{fig:comparison_auc_mistakes_risk} | ||
+ | \end{figure} | ||
+ | </source> | ||
+ | |||
+ | === Пример иллюстрации, сделанной на Python === | ||
+ | [[Изображение:BestPythonFig.jpeg|800px]] | ||
+ | |||
+ | Код картинки содержится в [[Медиа:PLSFigure.zip| ipython notebook]]: | ||
+ | |||
+ | === Оформление графиков в Inkscape === | ||
+ | |||
+ | [http://ru.wikipedia.org/wiki/Inkscape Inkscape] -- векторный графический редактор, удобный для создания технических иллюстраций. | ||
+ | |||
+ | Пример использования. | ||
+ | |||
+ | 1. Нарисовать [https://mlalgorithms.svn.sourceforge.net/svnroot/mlalgorithms/Kuznetsov2013Satellite/doc/article/PS_construction/fig1_sar.svg изображение], используя, где необходимо, latex-формулы: | ||
+ | |||
+ | [[Изображение:Sar.png|500px]] | ||
+ | |||
+ | 2. Сохранить изображение в формате eps, используя дополнительную опцию "создать файл latex". На выходе сгенерируется два файла - image.eps и image.eps_tex, второй можно редактировать в tex-редакторе. | ||
+ | |||
+ | 3. Вставить файл image.eps_tex в код статьи, заменив при этом | ||
+ | |||
+ | \includegraphics[width=<desired width>]{image.eps} | ||
+ | |||
+ | на | ||
+ | |||
+ | \def\svgwidth{<desired width>} | ||
+ | |||
+ | \input{image.eps_tex}. | ||
+ | |||
+ | 4. Profit: | ||
+ | |||
+ | [[Изображение:Sar2.png|500px]] | ||
+ | |||
+ | |||
+ | === Сбор таблицы из графиков === | ||
+ | Для плотной упаковки графиков в текст статьи рекумндуется использовать пакет '''subfig'''. | ||
+ | |||
+ | <source lang="LaTeX"> | ||
+ | \usepackage{subfig} | ||
+ | |||
+ | \begin{figure}[!ht] | ||
+ | \subfloat[$T(i) \sim \sin$]{\includegraphics[width=0.16\textwidth]{ts_T_sin}} | ||
+ | \subfloat[]{\includegraphics[width=0.16\textwidth]{pc12_sin}} | ||
+ | \subfloat[]{\includegraphics[width=0.16\textwidth]{segm_sin}}\\ | ||
+ | \subfloat[$T(i) \sim \log$]{\includegraphics[width=0.16\textwidth]{ts_T_log}} | ||
+ | \subfloat[]{\includegraphics[width=0.16\textwidth]{pc12_log}} | ||
+ | \subfloat[]{\includegraphics[width=0.16\textwidth]{segm_log}} \\ | ||
+ | \caption{\hl{The figure illustrates two examples of segmenting phase-modulated time series.}} | ||
+ | \label{fg:mod} | ||
+ | \end{figure} | ||
+ | </source> | ||
+ | |||
+ | [[Изображение:six_pack.png|500px]] | ||
+ | |||
+ | |||
+ | Для упаковки графиков на слайдах рекомендуется использовать окружение '''columns'''. | ||
+ | <source lang="LaTeX"> | ||
+ | \begin{columns}[c] | ||
+ | \column{0.3\textwidth} | ||
+ | \includegraphics[width=1\textwidth]{Figure1} | ||
+ | \column{0.7\textwidth} | ||
+ | \includegraphics[width=1\textwidth]{Figure2} | ||
+ | \end{columns} | ||
+ | </source> | ||
+ | |||
+ | === [http://mirror.macomnet.net/pub/CTAN/graphics/pgf/base/doc/pgfmanual.pdf Коммутативные диаграммы в LaTeX, справочник] === | ||
+ | |||
+ | |||
+ | [[Категория:Учебные курсы]] | ||
+ | [[Категория:Научные конференции]] | ||
+ | [[Категория:Рекомендации для студентов]] |
Текущая версия
Практически все популярные пакеты рисуют графики с подписями, которые трудно читать на бумаге и на слайдах из-за малого размера шрифта. Шрифт на графиках (подписи осей и цифры на осях) должны быть такого же размера, что и основной текст. Подпись всего графика (как правило, делается командой title) в коде не нужна, так как ее роль играет подпись рисунка (\caption{Подпись}) в статье. Пример графика с сигналами акселерометра.
Советы по оформлению графиков:
- шрифт должен быть больше,
- толщина линий равна двум,
- заголовки осей с большой буквы,
- включайте интепретатор LaTeX для корректного отображения формул на осях,
- заголовок графика отсутствует (чтобы не дублировать подпись в статье),
- рекомендуется сразу сохранять EPS и PNG (для TeX и для Wiki),
- тем, кто подает статьи в русские журналы из списка ВАК рекомендуется еще сохранять в EMF (для MS-Word).
Рекомендованные размеры.
h = figure; hold('on'); plot(xi,y,'r-', 'Linewidth', 2); plot(xi,y,'b.', 'MarkerSize', 12); axis('tight'); xlabel('Time, $\xi$', 'FontSize', 24, 'FontName', 'Times', 'Interpreter','latex'); ylabel('Value, $y$', 'FontSize', 24, 'FontName', 'Times', 'Interpreter','latex'); set(gca, 'FontSize', 24, 'FontName', 'Times') saveas(h,'ModelOne.eps', 'psc2'); saveas(h,'ModelOne.png', 'png');
Код для Python:
from matplotlib import pylab as plt plt.rcParams['font.family'] = 'DejaVu Serif' plt.rcParams['lines.linewidth'] = 2 plt.rcParams['lines.markersize'] = 12 plt.rcParams['xtick.labelsize'] = 24 plt.rcParams['ytick.labelsize'] = 24 plt.rcParams['legend.fontsize'] = 24 plt.rcParams['axes.titlesize'] = 36 plt.rcParams['axes.labelsize'] = 24 ### Сохранение изображения ### plt.savefig('1.svg') # Поддерживаемые форматы: eps, jpeg, jpg, pdf, pgf, png, ps, raw, rgba, svg, svgz, tif, tiff
При значительном количестве рисунков рекомендуется группировать иx в одном окружении {figure}, используя пакет subfig:
\usepackage{subfig}
Для отображения русских букв в подписях к графикам рекомендуется использовать команду:
\renewcommand{\thesubfigure}{\asbuk{subfigure}}
\begin{figure}[!htbp] \centering \subfloat[Исходные признаки]{\includegraphics[width=0.5\textwidth]{testing_vs_learning_auc_init_german.eps}} \subfloat[Разделенные признаки]{\includegraphics[width=0.5\textwidth]{testing_vs_learning_auc_edit_german.eps}}\\ \caption{Зависимость площади AUC под ROC-кривой, процента ошибок и эмпирического риска для исходных и разделенных признаков от числа итераций метода градиентного спуска} \label{fig:comparison_auc_mistakes_risk} \end{figure}
Содержание |
Пример иллюстрации, сделанной на Python
Код картинки содержится в ipython notebook:
Оформление графиков в Inkscape
Inkscape -- векторный графический редактор, удобный для создания технических иллюстраций.
Пример использования.
1. Нарисовать изображение, используя, где необходимо, latex-формулы:
2. Сохранить изображение в формате eps, используя дополнительную опцию "создать файл latex". На выходе сгенерируется два файла - image.eps и image.eps_tex, второй можно редактировать в tex-редакторе.
3. Вставить файл image.eps_tex в код статьи, заменив при этом
\includegraphics[width=<desired width>]{image.eps}
на
\def\svgwidth{<desired width>}
\input{image.eps_tex}.
4. Profit:
Сбор таблицы из графиков
Для плотной упаковки графиков в текст статьи рекумндуется использовать пакет subfig.
\usepackage{subfig} \begin{figure}[!ht] \subfloat[$T(i) \sim \sin$]{\includegraphics[width=0.16\textwidth]{ts_T_sin}} \subfloat[]{\includegraphics[width=0.16\textwidth]{pc12_sin}} \subfloat[]{\includegraphics[width=0.16\textwidth]{segm_sin}}\\ \subfloat[$T(i) \sim \log$]{\includegraphics[width=0.16\textwidth]{ts_T_log}} \subfloat[]{\includegraphics[width=0.16\textwidth]{pc12_log}} \subfloat[]{\includegraphics[width=0.16\textwidth]{segm_log}} \\ \caption{\hl{The figure illustrates two examples of segmenting phase-modulated time series.}} \label{fg:mod} \end{figure}
Для упаковки графиков на слайдах рекомендуется использовать окружение columns.
\begin{columns}[c] \column{0.3\textwidth} \includegraphics[width=1\textwidth]{Figure1} \column{0.7\textwidth} \includegraphics[width=1\textwidth]{Figure2} \end{columns}