Много было написано о выборе цвета, удобного для слепых, для карт, полигонов и заштрихованных областей в целом (см., Например, http://colorbrewer2.org ). Мне не удалось найти рекомендации по цветам линий и различной толщине линий для линейных графиков. Цели:
- легко различать линии, даже когда они переплетаются
- Линии легко различить по лицам с наиболее распространенными формами дальтонизма
- (менее важные) линии удобны для печати (см. выше «Цветовой пивовар»)
В контексте черных и серых линий я нашел очень эффективным иметь тонкие черные линии и более толстые серые линии. Я был бы признателен за конкретные рекомендации, которые включают различные цвета, степень серого и толщину линий. Я не так люблю разные типы линий (сплошные / пунктирные / пунктирные), но из этого мнения можно говорить.
Было бы предпочтительно иметь рекомендации для до 10 кривых на одном графике. Еще лучше было бы сделать так, как это делает Color Brewer: позволить рекомендациям для m строк не быть подмножеством рекомендаций для n строк, где n> m, и варьировать m от 1 до 10.
Пожалуйста, обратите внимание : я также был бы признателен за рекомендации, которые касаются только части вопроса, окрашенной линиями.
Некоторые практикующие добавляют символы в линии каждые несколько сантиметров, чтобы лучше различать разные классы. Я не очень сторонник того, что требуется более одной функции (например, цвет + тип символа), чтобы различать классы, и иногда хотелось бы зарезервировать символы для обозначения различной информации.
В отсутствие других указаний я предлагаю использовать те же цвета, которые рекомендованы для многоугольников в colorbrewer2.org для линий, и умножить ширину линии на 2,5 для линий, нарисованных менее яркими / плотными цветами. Я создаю функцию R, которая устанавливает это. В дополнение к цветам пивовара, я думаю, я сделаю первые два цвета сплошным черным (тонкий) и серой шкалой (толстый), хотя можно утверждать, что они должны быть тонкими сплошным черным и тонким синим.
Функции R можно найти по адресу http://biostat.mc.vanderbilt.edu/wiki/pub/Main/RConfiguration/Rprofile . Определив функцию, colBrew
вы можете увидеть, как работают настройки, набрав
showcolBrew(number of line types) # add grayscale=TRUE to use only grayscale
latticeSet
Также дается функция для установки lattice
графических параметров на новые настройки. Улучшения алгоритмов приветствуются.
Для изучения : dichromat
пакет R : http://cran.r-project.org/web/packages/dichromat/
источник
Ответы:
Я постараюсь быть провокационным здесь и задаться вопросом, возникает ли отсутствие таких рекомендаций, потому что это почти неразрешимая проблема. Люди в совершенно разных областях, похоже, согласны часто говорить о «сюжетах спагетти» и проблемах, которые они ставят при различении разных серий.
Конкретно, масса линий для нескольких отдельных временных рядов может коллективно передавать общие шаблоны, а иногда и отдельные серии, которые отличаются от любого такого шаблона.
Однако вопрос, который я принимаю, заключается в том, чтобы различать все отдельные временные ряды, когда у них есть идентичности, которые вам небезразличны.
Если, скажем, 2 или 3 серии, различить серии обычно не так уж сложно, и я бы предпочел использовать сплошные линии из двух или трех красных, синих или черных. Я также играл с оранжевым и синим, как использовал Хасти и его друзья (см. Ответ от @ user31264).
Изменяющийся рисунок линии (сплошная, пунктирная, пунктирная и т. Д.) Я нашел только в ограниченном значении. Пунктирные линии, как правило, стираются физически и умственно, а более тонкие комбинации точек и штрихов слишком тонкие (то есть незначительные) в отличие от того, чтобы быть успешными на практике.
Я бы сказал, что проблема кусается задолго до того, как у вас есть 10 серий. Если они не очень разные, 5 или около того серии могут быть слишком похожи на тяжелую работу, чтобы отличить их. Общая психология, по-видимому, заключается в том, что люди понимают принцип, согласно которому разные серии обозначаются разными цветами и / или символикой, но не имеют склонности усердно трудиться, чтобы проследить отдельные линии и попытаться рассказать историю об их сходствах и различиях в голове. , Частично это часто связано с использованием легенды (или ключа). Это спорно, но я попытаюсь обозначить различные серии на графике, где это возможно. Мой девиз здесь: «Потеряй легенду или убей ключ, если сможешь».
Я увлекся другим подходом к отображению нескольких временных рядов, в котором все разные временные ряды неоднократно отображаются на нескольких панелях, но на каждой выделяется отдельный. Это слияние одной старой идеи (а) маленьких кратных (как их называет Эдвард Туфте) и другой старой идеи (б), выделяющей серию, представляющую особый интерес. В свою очередь, это может быть просто еще одна старая идея, вновь открытая, но пока я могу найти только недавние ссылки. Больше в этой теме на Statalist .
Что касается цветов, я уверен, что использую серые для временных рядов, которые являются фоном для того, что подчеркивается. Кажется, это согласуется с большинством журналов, в которых стоит публиковаться.
Вот один эксперимент. Данные представляют собой урожаи зерна с 17 участков на полях Бродбалк в Ротамстеде 1852–1925 гг. И получены от Эндрюса Д.Ф. и Херцберга А.М. (ред.) 1985 года. Данные: набор проблем из многих областей для студента и научного сотрудника . Нью-Йорк: Springer, таблица 5.1 и может быть загружен из разных мест (например, введите описание ссылки здесь . (Подробно: данные там представлены блоками по 4 строки за каждый год; третья и четвертая строки - для выхода соломы, здесь не показаны). идентификаторы сюжета не указаны в этой таблице.)
У меня нет конкретных знаний по этому виду данных; Я просто хотел несколько временных рядов, которые нельзя (легко) отклонить как тривиально малые с точки зрения длины серии или количества панелей. (Если у вас есть сотни, тысячи, ... панелей, этот подход не может сильно помочь.) Я предполагаю, что аналитик данных, возможно, разговаривающий с экспертом по предметной области, может определить множество общих и необычное поведение здесь и получить понимание и информацию, таким образом.
Очевидно, этот рецепт может быть использован для многих других типов графиков (например, графиков рассеяния или гистограмм с каждым подмножеством, выделенным по очереди); вместе с упорядочением панелей в соответствии с какой-либо интересной или полезной мерой или критерием (например, по медиане или 90-му процентилю или SD); и для результатов модели, а также необработанных данных.
источник
На вопросы 2 и 3 вы ответили сами - цветовые палитры пивоваров подходят. Трудный вопрос - 1, но, как и Ник, я боюсь, что он основан на ложной надежде. Цвет линий - это не то, что позволяет легко различать линии, он основан на непрерывности и том, насколько извилистыми являются линии. Таким образом, существуют варианты, основанные на дизайне, отличные от цвета или штрихового рисунка линий, которые помогут облегчить интерпретацию графика.
В качестве примера я украду одну из диаграмм Фрэнка, показывающую гибкость сплайнов для аппроксимации многих функций различной формы в ограниченной области.
Теперь это создает довольно запутанную путаницу из 20 строк, сложную задачу для визуализации.
Вот тот же график в нескольких кратных, одинакового размера, с использованием обернутых панелей. Сравнение между панелями несколько сложнее, но даже в уменьшенном пространстве намного проще визуализировать форму линий.
В своих книгах Стивен Косслин подчеркивает, что не то, сколько разных линий усложняет сюжет, а то, сколько разных типов линий могут принимать линии. Если 20 панелей оказываются слишком маленькими, вы часто можете уменьшить набор до аналогичных траекторий для размещения на одной панели. Все еще трудно различить линии внутри панелей, по определению они будут находиться рядом друг с другом и часто перекрываться, но это значительно усложняет проведение сравнений между панелями. Здесь я произвольно сократил 20 строк на 4 отдельные группы. Это дает дополнительное преимущество, заключающееся в том, что прямая маркировка линий проще, в панелях больше места.
Есть общая фраза, которая применима к ситуации, если вы сосредотачиваетесь на чем-то, то вы сосредотачиваетесь ни на чем . В случае только с десятью линиями у вас есть
(10*9)/2=45
возможные пары линий для сравнения. Мы, вероятно, не заинтересованы во всех 45 сравнениях в большинстве случаев, мы либо заинтересованы в сравнении определенных линий друг с другом или в сравнении одной линии с распределением остальных. Ответ Ника хорошо показывает последнее. Достаточно будет нарисовать фоновые линии тонкими, светлыми и полупрозрачными, а затем нарисовать линию переднего плана любым ярким и толстым цветом. (Также для устройства не забудьте нарисовать линию переднего плана поверх других линий!)Гораздо сложнее создать наслоение, в котором каждая отдельная линия может быть легко различима в путанице. Одним из способов достижения переднего и заднего плана в картографии является использование теней ( хороший пример приведен в этой статье Дэна Карра ). Это не будет масштабироваться до 10 строк, но может помочь для 2 или 3 строк. Вот пример траекторий на панели 1 с использованием Excel!
Есть и другие моменты, такие как светло-серые линии могут вводить в заблуждение, если у вас есть не гладкие траектории. Например, у вас может быть две траектории в форме X или две в форме одной правой стороны вверх и вверх V. Рисуя их одинаковым цветом, вы не сможете проследить линии, и поэтому некоторые советуют рисование параллельных координатных графиков с использованием плавных линий или дрожание / смещение точек ( Грэм и Кеннеди, 2003 ; Данг и др., 2010 ).
Таким образом, рекомендации по проектированию могут меняться в зависимости от конечной цели и характера данных. Но когда представляет интерес двумерное сравнение траекторий, я думаю, что кластеризация схожих траекторий и использование небольших кратных значений значительно упрощает интерпретацию графиков в самых разных обстоятельствах. Это, как мне кажется, в целом более продуктивно, чем любая комбинация цветов / штрихов на сложных графиках. Во многих статьях выделенные участки панелей намного больше, чем нужно, и разделение на 4 панели обычно возможно в пределах ограничений страницы без особых потерь.
источник
Из «Элементов статистического обучения» Тревора Хасти и соавт. :
«Наше первое издание было неприемлемо для дальтоников, в частности, мы предпочитали контрасты красного / зеленого цвета, что особенно проблематично. Мы в значительной степени изменили цветовую палитру в этом издании, заменив вышеприведенный контраст оранжево-синим. "
Вы можете посмотреть на их графики.
Вы также можете использовать пунктирные, пунктирные и т. Д. Линии.
источник
Я видел очень мало внимания, уделяемого «толщине линии» в отношении правильной визуализации данных. Возможно, способность различать толщину линий не так различна, как способность различать цвет.
Некоторые ресурсы:
Некоторые курсы:
источник
Хотя я согласен, что не существует единственного решения проблемы, я использую рекомендации этого блога:
http://blogs.nature.com/methagora/2013/07/data-visualization-points-of-view.html
Сообщения о цвете затрагивают проблемы дальтонизма и печати в оттенках серого и дают пример цветовой шкалы, которая решает обе эти проблемы.
В этих же статьях анализируются также непрерывные цветовые шкалы, которые многие используют для тепловых графиков и так далее. Рекомендуется не использовать радугу из-за некоторых резких переходов (например, желтая зона, намного меньшая, чем красная). Вместо этого можно совершать переходы между другими парами цветов.
Хороший набор цветов для этой цели - синий и оранжевый (классика!). Вы можете сделать тест, применив дальтоник и серый фильтры, и посмотрите, сможете ли вы заметить разницу.
Что касается толщины линий, некоторые из упомянутых ранее проблем блога посвящены этой теме. Линии, если их много, должны иметь одинаковую толщину, то есть «тонкие». Используйте толстые линии, только если вы хотите привлечь внимание к этому объекту.
источник