Данные, а именно (выбор цвета) для перекрывающихся элементов - PullRequest
0 голосов
/ 31 августа 2018

Проблемы с отображением нескольких случаев поведения (вертикальных цветных полос), когда они перекрываются или возникают одновременно. Поигрался с разными способами визуализации. Два изображения показывают мою проблему, в первом нет настроек прозрачности, а некоторые примеры поведения скрыты, во втором, где изменена прозрачность, обнаруживаются некоторые из этих поведений. Есть ли способ сделать так, чтобы все было видно? либо через дополнительный код или выбор цвета? У меня есть несколько подобных графиков, поэтому мне нужна одна и та же палитра, поэтому это только один пример.

Я читал, что я не должен использовать линии или фигуры, но также читал с использованием прозрачности, хмурится и должен просто использовать более светлый цвет. Существует также проблема людей с недостатком цветового зрения - кто-нибудь сталкивался с подобной проблемой и придумал обходной путь?

Без прозрачности:

enter image description here

с прозрачностью:

enter image description here

gb <- read_csv("p01t01UW.csv") #read in gaze behaviour (horizontal blocks)
mb <- read_csv("p04MBt5.csv") #read in movement (vertical bars)

bhvr <- c(vea = "#ff330010", controllines = "#66ccff70", tack = "#3366ff") # set colour scheme for vertical blocks

mb$Behaviour <- factor(mb$Behaviour, levels = names(bhvr), ordered = TRUE) # retain all behaviour even if not on trial 

ggplot() +
  geom_rect(
    aes(xmin = MBstrt
        , xmax = MBstop
        , fill = Behaviour
        , ymin = 0
        , ymax = 25)
    ,filter(mb, !is.na(Behaviour))

  ) +
  geom_hline(aes(yintercept = c(2:21, 23))
             , col = "gray20"
             , size = 0.25) +
  geom_rect(
    aes(xmin = Fstart
        , xmax = Fstop
        , ymin = AOIcode - 1/3
        , ymax = AOIcode + 1/3)
    , gb
    , fill = "black"
  ) +
  xlab("Time (milliseconds)") +
  ylab("Area of interest") +
  scale_y_continuous(limits = c(0, 25),
                     breaks = c(2:21, 23),
                     labels = c("Bow", "Mast", "Boom & Control lines", "Watch", "Wind indicator", "Sail", "Window", "Tell-tales", "Laser other", "Opponent", "Opponent to stern", "Sea", "Sea 2", "Sea to stern", "Sea to stern 2", "Non-Laser boat", "Other", "Coach's boat", "Pin buoy", "Committee-boat buoy", "No cursor")) +

  scale_x_continuous(labels = scales::comma) +
  scale_fill_manual(values = bhvr, drop=FALSE) +

  theme(panel.grid.major = element_blank(),
        panel.grid.minor = element_blank(), 
        panel.background = element_blank())

Должен добавить, что я использую Rstudio с пакетами GGplot2, readr, magrittr и dplyr

Ответы [ 2 ]

0 голосов
/ 05 марта 2019

Целью любой инициативы DataViz является общение. Лучший способ определить, насколько успешной является эта работа, - это поговорить со своей аудиторией. Они это понимают? Имеют ли значение цвета или другая особенность дизайна значение? Вы можете обнаружить, что вам нужно более или менее разрешение. Или вы можете увидеть, что есть более эффективный способ их достижения.

В частности, если вы хотите, чтобы черные элементы выделялись больше, вы снова наберете полосу альфа, чтобы они переместились на задний план. Однако, если вы хотите, чтобы пользователь сосредоточился на полосах, вам придется попытаться выяснить, как сохранить общий визуальный баланс. Возможно, вам придется разделить визуальное изображение на два, чтобы плотный дисплей не затенял смысл.

Но опять же, я настоятельно рекомендую поговорить с вашей аудиторией и посмотреть, что для них лучше.

0 голосов
/ 31 августа 2018

Визуализация данных 101 - В любом случае, я так понимаю.

Извините, я пропустил прочитать вопрос, вы можете забрать код, и да, я понимаю, что данные чувствительны, поэтому я удалю их через секунду.

Если ваша переменная «поведение» является категориальной, что, как кажется, то есть как фактор, то наилучшей практикой является использование пространственного. o O как первая линия атаки, а затем цвет.

Цвет и Оттенок обрабатываются одинаково для категориальных данных. «Для небольших регионов дизайнеры должны использовать яркие насыщенные цвета, чтобы обеспечить различимость цветовой кодировки. Когда цветные области большие, как на заднем плане, рекомендации по дизайну противоположны: используйте цвета с низкой насыщенностью, то есть пастели. " (Munzer, 2014)

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

Прозрачность добавляет четвертый уровень и не рекомендуется для того, что вы делаете. Сначала поработайте над предыдущим шагом.

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

Палитра, дружественная к дальтоникам - на базовом уровне: красный на зеленом трудно различить или различить, но ваш график весь синий, поэтому он будет дружественным к дальтонику.

Обратите внимание, что в дружественной палитре для дальтоников они не помещают зеленый и красный цвета в одну и ту же палитру. Исключением является последняя палитра в изображении, но в основном она синего цвета. Смотрите рисунок ниже:

enter image description here

Наконец, если у вас есть 3D-краска, краска или что-то подобное в окнах, вы можете выбрать цвета логотипа вашего бизнеса, получить шестнадцатеричный код и вставить их в свой дизайн для категориальных переменных, которые вы хотите выделить. Если возникнут какие-то проблемы, просто дай мне немного времени, и я могу помочь тебе с этим.

Приветствия

Ссылка Визуализация Анализ и дизайн Тамара Мунцнер 2014

...