вторник, 25 марта 2014 г.

Создание биржевых диаграмм при помощи мастера диаграмм в LibreOffice Calc

Продолжая тему работы с мастером диаграмм, необходимо рассказать о биржевых диаграммах. В официальной вики LibreOffice есть очень хорошая статья по биржевым диаграммам, но она не раскрывает всех возможностей мастера при построении. Кроме того, структура статьи подразумевает уже имеющийся опыт работы с диаграммами, и в связи с этим хочется обратить внимание на некоторые не столь явные для начинающего пользователя возможности. Начнём как всегда двигаться от лёгкого к сложному, останавливаясь на возможностях редактора диаграмм только там, где это действительно необходимо.


Биржевые диаграммы используются, в основном, при анализе цен акций, облигаций и других ценных бумаг, а также сырьевых товаров на биржах. Они удобны тем, что показывают тенденции в коротком промежутке времени, позволяя при этом легко абстрагироваться от конкретики. Однако, в диаграммах LibreOffice Calc есть отличие от общепринятых способов изображения. Особенно это явно видно на графиках с барами. На сегодняшний день, практически все программы (будь то on-line или off-line) отображают на барах открытие, закрытие, максимальную и минимальные цены, однако в диаграммах LibreOffice Calc цена открытия при построении баров не участвует. Чем руководствовался разработчик, я не очень понимаю, и мне не удалось найти внятных объяснений тому. Для свечей ситуация не столь удручающая. Стоит отметить, что «нога» свечи и бары красятся в тот цвет который у вас стоит в цветах по умолчанию для диаграмм. Если вы используете несколько рядов данных с накоплением, то получится перебор цветов по порядку. Это часто не удобно, нужно приводить цвета самостоятельно к нужному виду, для более простого чтения диаграммы. Тело свечи по умолчанию при цене открытия меньше цены закрытия красится в белый, а при цене закрытия больше цены открытия в черный. В редакторе диаграмм можно задать цвета отдельно для черных и белых свечей, разукрасив их по своему вкусу.

Биржевая диаграмма бары

Начнём с обычной биржевой диаграммы с барами. Для более простого создания, имеет смысл сгруппировать столбцы в определённом порядке, а именно: Минимальное значение → Максимальное значение → Цена закрытия. Построим диаграмму на данных следующей таблицы:

Таблица в LibreOffice Calc для построения Биржевой диаграммы с барами

Для лет и месяцев я использовал текстовый формат поля (поставил символ «'» перед числами). Выделим диапазон A3:E26 и запустим мастер диаграмм. На первом шаге нам нужно выбрать тип диаграммы: «Биржевая» и «Бары». Если вы сейчас посмотрите на диаграмму, то увидите, что она практически готова. На втором шаге нужно проверить, правильно ли определены ряды данных (у нас они в столбцах), и поставлен ли флажок «Первый столбец как подпись». На третьем шаге, если вы не сформировали таблицу так же, как я, мы можем правильно расставить ряды данных.

Скриншот окна третьего шага мастера диаграмм в LibreOffice Calc при построении Биржевой диаграммы с барами

Обратите внимание на третий шаг. Тут в поле ряды данных указаны диапазоны для значений нашего графика. Так как у нас один товар, то у нас только один ряд данных, но их может быть больше при необходимости. В поле «Диапазоны данных» мы можем видеть: «Название», «Открытие», «Закрытие», «Максимум», «Минимум». Порядок расположения диапазонов не соответствует порядку расположения столбцов, поэтому это не может являться подсказкой для нас при построении таблицы. В диапазон «Название» вносится название, которое будет указано для легенды, в нашем случае у нас только один график, поэтому заполнять его необязательно. Диапазон «Открытие» в графике «Бары» не участвует, он имеет смысл только для графика «Свечи». «Закрытие», «Максимум» и «Минимум» должны быть заполнены, иначе график не получится. В нашем примере мастер заполнил правильно все поля, поэтому можно перейти к следующему шагу. На четвёртом шаге мы можем настроить отображение легенды, «Заголовка», «Подзаголовка», подписей осей и основную сетку по осям. Мы заполним поле «Заголовок», поставим галочку «Отображать сетку:» «ось X» и снимем галочку с «Показывать легенду». Нажмём кнопку «Готово».
Для этого графика я бы настроил «ось Y». Нажмем правой клавишей мыши на ось Y, находясь в редакторе диаграмм и выберем из контекстного меню пункт «Формат оси...». На вкладке «Масштабирование» снимем галочку с минимума и поставим значение 35. Это позволит распределить график по всей видимой поверхности. В итоге у нас получилась вот такая диаграмма:

Биржевая диаграмма бары в LibreOffice Calc

Хочу обратить ваше внимание на ось X. Я специально организовал данные для диапазона категорий в таблице, чтобы показать один из способов получения красивой и аккуратной оси.

Биржевая диаграмма бары с многими рядами

Биржевая диаграмма бары с многими рядами данных в LibreOffice Calc позволяет нам сравнить несколько графиков. Однако, нужно учитывать, что, чтобы графики удачно накладывались друг на друга, цены нужно приводить к одним значениям, удобнее всего использовать для этого проценты. Мне больше нравится результат, когда данные приводятся к минимальной цене, при этом графики накладываются так, что минимальные цены совпадают. Остальные значения характеризуют отклонение от минимальной цены в процентах. Если брать за основу максимальные цены, то графики будут накладываться так, что будут совпадать максимальные цены. Так же можно приводить к средним ценам, тогда графики будут отцентрированы по средней цене. При этом, хотя вид наложения меняется, форма самих графиков остаётся неизменной. Давайте построим диаграмму на основе следующей таблицы:

Таблица в LibreOffice Calc для построения Биржевой диаграммы бары с многими рядами данных

Если мы попробуем сделать график для этих рядов данных, то, из-за большой разницы в ценах двух продуктов, никаких соотношений на нём не увидим, и, поэтому, нам нужно привести их к процентному виду. Будем приводить все значения диапазона к минимальной цене. Выделим ячейку J4 и в строке ввода укажем следующую формулу «=C4/MIN($C$4:$C$27)-1». C4 — это первое значение в первом столбце диапазона цен, функция MIN() ищет минимальное значение в диапазоне, С4:С27 — это диапазон минимальных цен для нашего продукта, знак «$» закрепляет адрес ячейки при копировании формулы, деление ячейки на минимальное значение покажет нам размер величины в процентах, а вычитание единицы позволяет уменьшить разрядность, для более удобного отображения. Протянем формулу до J27, а затем диапазон J4:J27 до столбца L. Повторим аналогично для второго товара. В ячейку M4 введём формулу «=F4/MIN($F$4:$F$27)-1» и протянем её до M27, а затем диапазон M4:M27 протянем до столбца O. Сделаем формат ячеек процентным — это поможет нам минимизировать в дальнейшем работу с редактором диаграмм. В итоге у нас получится вот такая таблица:

Вспомогательная таблица в LibreOffice Calc для построения Биржевой диаграммы бары с многими рядами данных

Теперь мы может начать строить саму диаграмму. Выделим диапазон J4:O27 и запустим мастер диаграмм. На первом шаге как и в предыдущем примере выберем «Биржевые диаграммы» и «Бары». На втором шаге проверяем значения рядов данных и переходим к следующему шагу. На третьем шаге в поле «Диапазон для: Название» для ряда данных «Столбец L» выделим диапазон C2, а для ряда данных «Столбец O» диапазон F2. Для поля категорий укажем диапазон A4:B27. Так же мы можем поменять местами ряды данных, используя кнопки со стрелками вверх/вниз. При этом очерёдность баров на графике тоже изменится, что позволит найти более удобный вид для анализа. На четвёртом шаге укажем значение поля «Заголовок» и нажмём «Готово».
Нажав на любую точку данных на диаграмме в редакторе диаграмм правой кнопкой мыши, выберем пункт «Формат рядов данных» в контекстном меню. На вкладке «Параметры» в разделе «Параметры диаграммы» поставим галочку «Включить значения скрытых ячеек». После этого мы можем скрыть столбцы дополнительной таблицы. В итоге у нас получится вот такая диаграмма:

Биржевая диаграмма бары с многими рядами данных в LibreOffice Calc

В конце хочется заметить, что 3-4 ряда данных уже читаются тяжело, а более 4 обычно не читаемы вовсе. Поэтому, если вам нужно анализировать большое количество рядов данных, то лучше будет использовать линейные графики, и уже выбрав при помощи них пару показывать (анализировать) её на биржевой диаграмме.

Биржевая диаграмма бары с объёмом

На мой взгляд, биржевые диаграммы с объёмом в LibreOffice Calc лучше делать двумя диаграммами: биржевой и гистограммой, так они будут получаться аккуратнее и презентабельнее. Кроме того, их можно будет более тонко настроить. Но раз уж в мастере есть такая функция как построение биржевой диаграммы с объёмом, давайте разберём её построение. Для того, чтобы нам было проще создать диаграмму, порядок столбцов должен быть следующий: Объём продаж → Минимальная цена → Максимальная цена → Цена закрытия. Например, добавим в таблицу из первого примера объём сделок:

Таблица в LibreOffice Calc для построения Биржевой диаграммы бары с объёмами

Выделим диапазон A3:F26 и запустим мастер диаграмм. На первом шаге выберем «Биржевая» и «Бары с объёмом». На втором шаге нам нужно проверить, стоят ли галочки «Первый столбец как подпись» и «Ряды данных в столбцах». На третьем шаге мы можем увидеть в поле «Ряды данных» два столбца, которые мы не можем поменять местами. Первый столбец будет рядом данных для нашей гистограммы с объёмом продаж, а второй - для наших баров. В нашем случае на четвёртом шаге имеет смысл убрать галочку с «Показывать легенду». Заполним поле «Заголовок» и нажмём кнопку «Готово».
В завершении настроим основную вертикальную «ось Y» (та, что слева) и «дополнительную ось Y» (та, что справа) так, чтобы объём продаж не заходил на бары и линии сетки совпадали. Нажав на основную ось Y правой клавишей мыши выберем в контекстном меню пункт «Формат оси...». На вкладке «Масштабирование» поставим максимум 16000000. Сделаем тоже самое для дополнительной оси, но изменим минимум, выставив его в значение 32. В итоге получим такую диаграмму:

Биржевая диаграмма бары с объёмом в LibreOffice Calc

Биржевая диаграмма бары с объёмом с многими рядами

Используя биржевую диаграмму с объёмом для нескольких рядов данных в LibreOffice, мы сталкиваемся с такой же проблемой, что и в обычной диаграмме с несколькими рядами данных: нам необходимо привести значения к сравнимым единицам, которые мы можем отобразить на графике. Для примера, возьмём таблицу из второго примера, добавив туда объёмы сделок для обоих товаров. Таблица будет выглядеть следующим образом:

Таблица в LibreOffice Calc для построения Биржевой диаграммы бары с объёмами для многих рядов данных

Как привести цены мы подробно разобрали во втором примере. Объёмы можно тоже приводить по-разному, но с моей точки зрения, самый простой и логичный способ, это привести их к процентам от общего объёма за весь рассматриваемый период. Итак, создадим вспомогательную таблицу. В ячейку L4 введём формулу «=C4/SUM($C$4:$C$27)», где C4 — это первая ячейка диапазона объёма продаж, C4:C27 — диапазон объёма продаж, знак $ закрепляет значения адреса ячейки. Деля значение ячейки на сумму всего диапазона, мы получим долю продаж за конкретный период от общего объёма продаж. Протянем формулу до ячейки L27. В ячейку M4 вставим формулу «=D4/MIN($D$4:$D$27)-1» (значение формулы я объяснял в предыдущем примере) и протянем её до M27, а затем протянем диапазон M4:M27 до столбца O. Аналогично для второго товара. В ячейку P4 вставим формулу «=G4/SUM($G$4:$G$27)». Протянем её до ячейки P27. В ячейку Q4 вставим формулу «=H4/MIN($H$4:$H$27)-1» и протянем её до Q27, а затем диапазон Q4:Q27 протянем до столбца S. В итоге у нас получится вот такая вспомогательная таблица:

Вспомогательная таблица в LibreOffice Calc для построения Биржевой диаграммы бары с объёмами для многих рядов данных

Мы можем для красоты сделать формат ячеек процентным, но это не обязательно, так как придётся всё равно формат для осей настраивать вручную, а сама вспомогательная таблица будет скрыта.
Выделим диапазон L4:S27 и запустим мастер диаграмм. На первом шаге мастера выберем «Биржевые» и «Бары с объёмами». У нас ряды данных в столбцах, так что второй шаг можно пропустить. На третьем шаге при необходимости мы можем в поле ряды данных поменять местами столбцы объёмов или баров, но если таблица для диаграммы была собрана правильно, то необходимости в этом нет. Что действительно для нас необходимо, так это заполнить «Категории» и «Диапазоны для: Названия» для всех столбцов. Для категорий выделим диапазон A4:B27. В «Диапазоне для:Названия» укажем: для «Столбца L» C2; для «Столбца P» G2; для «Столбца O» С2; и для «В Столбца S» G2. На четвёртом шаге в заголовке укажем «Динамика цен первого и второго товаров в 2010 - 2011 годах» и нажмём кнопку «Готово».

Заготовка для биржевой диаграммы бары с объёмом для многих рядов данных в LibreOffice Calc

Как видите, такая диаграмма читается с трудом. Однако, её можно привести в более менее читаемый вид при помощи дополнительных настроек в редакторе диаграмм, хотя повозиться придётся больше. Разберём самое необходимое.
В редакторе диаграмм щёлкнем правой копкой мыши на основную ось Y (она с лева) и выберем в контекстном меню пункт «Формат оси...». На вкладке «Масштабирование» снимем галочку с «Максимум» и поставим значение 0,4. Это позволит нам прижать гистограмму к оси Х, чтобы она не занимала всё пространство. Так как мы бы хотели видеть более читаемые цифры в нашей диаграмме, то в этом же диалоговом окне на вкладке «Числа» зададим формат отображения для значений. Снимем галочку «Исходный формат» и в строку код формата введём следующую формулу [>0,16];0%. Формула позволит нам отобразить значения на оси как проценты, при этом скрыть все больше 16%. Нажмём «Да». Щелкнем на дополнительной оси Y правой кнопкой мыши и в контекстном меню так же выберем «Формат оси...». На вкладке «Масштабирование» как минимальное значение введём -0,04, а как максимальное 0,12. Это позволит нам приподнять график над гистограммой. На вкладке числа снимем галочку с «Исходный формат» и в поле «Код формата» введём следующее значение [<0];0%. Это позволит показать значения как проценты и скрыть все значения которые меньше нуля. Теперь отредактируем ряды данных. Нажмём на любом баре принадлежащего к первому товару правой кнопкой мыши и выберем «Формат рядов данных». На вкладке «Параметры» поставим флажок «Включить значения скрытых ячеек», а на вкладке «Линии» выберем цвет «Диаграмма 1». Нажмем кнопку «Да». Сделаем тоже самое для баров второго товара, но выберем цвет «Диаграмма 2». Теперь мы можем скрыть служебную таблицу. Вот что мы в итоге получим:

Биржевая диаграмма бары с объёмом для многих рядов данных в LibreOffice Calc

Работы много, а результат не впечатляет. Такую диаграмму можно использовать если вам не важны конкретные цифры и вы можете от них спокойно абстрагироваться. Но если цифры представляют для вас интерес, то лучше воспользоваться отдельно биржевой обычной диаграммой и гистограммой.

Биржевая диаграмма японские свечи

Биржевая диаграмма японские свечи строится в LibreOffice Calc аналогично биржевой диаграмме бары, за исключением того, что в таблице участвует ещё один параметр - «Открытие». Столбцы должны быть расположены в следующем порядке: «Цена открытия» → «Минимальная цена» → «Максимальная цена» → «Цена закрытия». Разберём пример на следующих данных:

Таблица в LibreOffice Calc для создания Биржевой диаграммы свечи

Это таблица из первого примера, в которую добавлена цена открытия и номера месяцев заменены на их названия. Выделим диапазон A3:F26 и запустим мастер диаграмм. На первом шаге нам нужно выбрать «Биржевая» и «Японские свечи». На втором шаге проверим, что «Ряды данных в столбцах» и «Первый столбец как подпись» отмечены галочкой. Так как мы видим, что диаграмма уже сформировалась. На третьем шаге стоит обратить внимание на «Диапазоны данных». Так же как и в барах, они идут не в том порядке, как должны идти в таблице. Но в отличие от диаграммы баров, теперь диапазон «Открытие» заполнен данными, и эти данные участвуют в построении диаграммы. На четвёртом шаге снимем галочку «Показать легенду» и заполним поле «Заголовок». Нажмем кнопку готово.
Отредактируем ось Y так, чтобы график занимал всё место на поле. Получим вот такую диаграмму:

Биржевая диаграмма свечи в LibreOffice Calc

Мастер диаграмм в LibreOffice Calc самостоятельно выбирает какие месяцы показывать. Но есть одна небольшая хитрость, что бы показать их все. В редакторе диаграмм нажмите правой кнопкой мыши на оси X и выберите пункт «Формат оси...». В диалоговом окне выберите вкладку «Подпись».

Скриншот окна оси X подпись в LibreOffice Calc

Хотя в разделе «Ориентация текста» у нас стоит 0, на самом деле текст повернут на 90 градусов. Поставьте 90 градусов и нажмите «Да». И, как видите, все названия месяцев теперь отображаются:

Вариант биржевой диаграммы свечи в LibreOffice Calc

Если же нам нужно сделать иную логику показа месяцев, то можно сделать скрытый диапазон, на котором указать только те месяцы которые мы хотим видеть.

Биржевая диаграмма японские свечи с объёмом

В LibreOffice Calc биржевую диаграмму свечи с объёмом, так же, как и бары с объёмом, лучше делать двумя диаграммами: биржевой и гистограммой. Это будет выглядеть аккуратнее и можно будет более тонко настроить. Но так как у нас есть возможность сделать это одной операцией, давайте разберём эту возможность. Для более простого построения биржевой диаграммы свечи с объёмом таблица должна иметь следующую структуру: «Объём продаж» → «Цена открытия» → «Минимальная цена» → Максимальная цена» → «Цена закрытия». Добавим в таблицу из третьего примера столбец «Цена открытия», таблица примет такой вид:

Таблица в LibreOffice Calc для построения биржевой диаграммы свечи с объёмами

Выделим диапазон A1:G26 и запустим мастер диаграмм. На первом шаге мастера нам нужно выбрать тип «Биржевая» и «Свечи с объёмом». Если посмотрите сейчас на нашу диаграмму, то увидите, что она уже практически собрана. На втором шаге проверим, что «Ряды данных в столбцах» и «Первый столбец как подпись» отмечены галочкой. На шаге три мы видим картину подобную той, что мы видели при создании баров. В поле «Ряды данных» мы увидим два ряда, которые мы не сможем поменять местами. Поле «Название» будет пустым, и в нашем случае его можно не заполнять. Поле для категорий заполняет ось X. На четвёртом шаге снимем галочку с «Показывать легенду», заполним поле «Заголовок» и нажмём «Готово».
В завершении настроим «ось Y» и «дополнительную ось Y» так, чтобы объём продаж не заходил на свечи, и линии сетки совпадали. Нажав на основную ось Y правой клавишей мыши выберем в контекстном меню пункт «Формат оси...». На вкладке «Масштабирование» поставим максимум 16000000. Для дополнительной оси изменим минимум, выставив его в значение 32. В итоге получим такую диаграмму:

Биржевая диаграмма свечи с объёмом в LibreOffice Calc


Биржевая диаграмма свечи с многими рядами данных

Биржевая диаграмма свечи с многими рядами данных и биржевая диаграмма свечи с объёмом с многими рядами данных в LibreOffice Calc делаются аналогично биржевой диаграмме бары за исключением того, что нужно учитывать также цены открытия. В остальном, все достоинства и недостатки такие же.

Дополнительная литература и источники