Несколько лет назад мы создали сайт, посвященный хронологии возникновения и развития различных систематизированных данных и вычисляемых знаний, которые вы можете посмотреть онлайн. Я написал код, который размещает события вдоль временной шкалы, а затем наши дизайнеры провели серьёзную работу касательно дизайна получаемого материала (шрифты, заголовки, цвета и тому подобное) и довели качество до коммерческого уровня.
В общем, в прошлом году мы добавили функцию NumberLinePlot в Wolfram Language для визуализации точек, областей и неравенств. Как только пользователи начали работать с NumberLinePlot, мы начали получать просьбы о введении подобной функции, но с датами и временем, поэтому мы решили, что пришло время для TimelinePlot.
Одно из различий между TimelinePlot и NumberLinePlot — важность меток и то, как часто они используются. Нашей задачей было создать такую систему, которая бы легко включала метки и автоматически бы их расставляла на хронологической линии. Вы можете использовать правила для меток, и метки будут располагаться так, чтобы максимально избегать наложений друг на друга. Важно было научиться автоматически создавать метки таким образом, чтобы они по качеству не отличались от того, что создавали наши дизайнеры вручную. В прошлом году я ездил в отпуск с семьей и делал записи: куда мы передвигались, кого посещали и что мы делали. Ниже представлен пример того, как можно работать с этими данными в Wolfram Language:
Оказывается, что множество объектов, о которых знает Wolfram Language, имеют, по крайней мере, как минимум одну дату, ассоциированную с ними, так что создавать хронологические линии из них получается очень легко. Один из моих любимых примеров, который не так уж и сложно реализовать — хронология релизов Star Trek:
В данном примере метки находятся друг над другом, потому что ширина страницы не очень большая. Это не очень удобно, так что попробуем расположить хронологическую линию вертикально:
Также можно попробовать расположить астрологическую линию горизонтально, однако без расстановки в колонки:
Помимо создания отличных плакатов и хронологий выходов фильмов, TimelinePlot также полезна для отслеживания расписания рейсов, ведения дневника, графиков исторических событий, хронологий жизней известных людей, планирования конференций, мероприятий и многого другого.
Функция TimelinePlot будет добавлена в следующем релизе Wolfram Language (системе Mathematica 10.1, которая выйдет в ближайшее время)… следите за обновлениями!
Автор: OsipovRoman