Наложить сгруппированную гистограмму с разбросом на графике - PullRequest
0 голосов
/ 08 февраля 2019

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

Вот пример, демонстрирующий проблему:

set.seed(1)
d1 <- data.frame(x=rep(c('a', 'b', 'c'), each=2),
                 y=rnorm(6, mean=10),
                 c=rep(c('q', 'r'), times=3))
d2 <- d1[d1$c=='q', ]

p1 <- plot_ly(data=d2, x=~x, y=~y, type='bar')
p2 <- add_trace(p1, data=d2, x=~x, y=~y, 
                type='scatter', mode='markers', marker=list(size=20))
p3 <- plot_ly(data=d1, x=~x, y=~y, color=~c, type='bar')
p4 <- add_trace(p3, data=d1, x=~x, y=~y, 
                type='scatter', mode='markers', marker=list(size=20))

subplot(p1, p2, p3, p4, nrows=2)

Создается следующий рисунок: enter image description here

В то время как на верхней правой панели (p2) точки расположены на соответствующих столбцах, внизусправа (p4) точки не соответствуют цветовому коэффициенту.

Я могу вообразить решение этой проблемы, установив x в качестве числовой переменной и вручную, отрегулировав точки на небольшую величину и т. Д. Но это кажется довольно утомительным.Есть ли простой способ сделать настройку в графическом режиме?

(Очевидно, что цель состоит не в том, чтобы иметь одну точку, показывающую верхнюю часть каждого столбца, а в том, чтобы перекрывать столбцы целым облаком)

1 Ответ

0 голосов
/ 09 февраля 2019

В зависимости от того, что вы пытаетесь сделать, вы можете использовать бары ошибок , вы можете играть с параметрами width, thickness и color, чтобы он выглядел как обычный разброс(width относится к линии на концах и thickness к усам, thickness = 0 должно их убрать).

...