Как делать подписи для таймсерий
Таймсерии — графики, где что-то зависит от времени обычно. В посте я расскажу, как делать на них подписи. Это улучшенная версия статьи из наших внутренних дизайнерских гайдлайнов, поэтому тут может встретиться неожиданная категоричность.
В чем проблема
Если не следить за подписями, то программа или библиотека расставит отметки автоматически. Скорей всего она поделит интервал на равные промежутки и может получиться плохо. Вот скриншот временной оси графика, обратите внимание, что показано только время:
Библиотека отрисовки почему-то решила не подписывать даты и подписала только время. На самом деле пеньки 3:00 21 мая, 15:00 23 мая, 3:00 26 мая, 15:00 28 мая, 3:00 31 мая, 15:00 2 июня. Понять это из подписей почти невозможно.
Я перерисую скриншот, чтобы можно было менять и иллюстрировать:
Первое, что нужно сделать — всегда писать даты:
Стало понятно, но тоже плохо. Пеньки получились неудобные, читать их неудобно. Все потому, что программа поделила ось на равные промежутки и подписала их. В данном случае число отсчетов не совпало с числом дней, поэтому программа выбрала промежутками не целые дни.
В посте я расскажу что с этим всем делать.
Общие правила
- Подписи отметок соотносятся с масштабом. При показе данных за год показывать время с точностью до минут не имеет смысла.
- Всегда выбирается максимально детальный разумный масштаб. Если без проблем указывается с точностью до дней, то не надо укрупнять отметки до 5-дневных просто так.
- Отметки должны быть регулярны. Разный шаг не позволит удобно прикинуть промежуточное значение. Если регулярные метки не получаются, то основную часть отметок лучше сделать регулярными, а нерегулярные остатки сложить к одному из концов интервала.
- Смысловые отметки лучше несмысловых. Отметка 22:12 — странно, 22:30 — норм. Вряд ли имеет смысл использовать что-то, не попадающее в этот список:
1, 5, 10, 15, 30 секунд,
1, 5, 10, 15, 30 минут,
1, 2, 4, 6, 12, 24 часов,
1, 2, 5, 10, 15 дней,
1, 2 недели (если нужны именно календарные недели),
1, 2, 3, 6 месяцев,
1, 2 года, 5, 10 лет.
Дробными числами, не подходящими под указанные выше, допустимо подписывать только начало и конец.
Информативность
- Дублировать одно и то же — плохо. Не надо писать у отметок так: 01.01.2015, 01.02.2015, 01.03.2015, 01.05.2015. Но и 01.01, 01.02, 01.03, 01.05 тоже плохо (см. следующий пункт). Кстати, кто-нибудь заметил, что я пропустил апрель?
- Для дат лучше всего использовать формат 1 мая, 2 июня, 13 ноя. Месяцы сокращаются до трех букв без точки (кроме мая, июня и июля), ведущий ноль у числа не пишется.
- Если год на отметках повторяется, то лучше подписать его у первой отметки этого года, а у следующих не подписывать. Год стоит продублировать у крайних отметок, чтобы было проще понять, какая это дата.
- Секунды у времени не пишутся, если не сказано обратного — 22:12. Любое время, кроме полуночи лучше писать без ведущих нулей: 6:25, 9:13, 12:56, но 00:00. Для секунд, там где они нужны, допускается писать только секунды: 10:55, :56, :57, :58, :59, 11:00, :01, :02.
Оформление
- Если отметок много и они переносятся в две строки, лучше снизить число отметок, а не переносить.
- Текст подписи выравнивает по центру, сама подпись — по пеньку.
- Между отметками должен быть минимальный отступ в 16 пк, если отступ будет меньше, то отметки слипнутся.
Края интервала
Когда левая и правая границы важны, нужно подписать эти отметки явно. Скорей всего для этого придется убрать подписи у ближайших отметок: отметки 6:00 (между 3:52 и 8:00) и 2:00 (между 00:00 и 3:12) как бы должны быть, но не влезли:
Если явно задана только левая, а правая — сейчас, то правую можно не подписывать:
Если края не принципиальны, то можно не подписывать оба конца:
Примеры
Примеры того, что получится, если воспользоваться рекомендациями:
Если применить все рекомендации к примеру из начала поста, то получится как-то так:
Выводы простые: не доверяйте программе ставить отметки как получится, скорей всего получится плохо.