Построение кластерного столбца - PullRequest
0 голосов
/ 05 мая 2018

Я новичок в графике, но я пытаюсь создать столбчатую диаграмму с кластеризованными столбцами, которая выглядит примерно так, где я могу навести курсор и увидеть значения:

enter image description here

Чтобы сделать это в общих чертах, вот что у меня пока есть, но я не уверен, как поступить, чтобы получить желаемый результат, показанный выше (который только что сделан из базовой диаграммы):

A <- c(.32, 1.89, 12.9, 51.85, 29.96)
B <- c(1.06, 2.65, 21.27, 47.34, 27.65)
C <- c(.96, 3.85, 18.32, 51.44, 25.401)

matrixValueData <- as.data.frame(rbind(A, B, C))

plotly::plot_ly(matrixValueData, x = colnames(matrixValueData), y = A, type = 'bar')

Любая помощь приветствуется! Спасибо!

1 Ответ

0 голосов
/ 05 мая 2018

Вот начало:

Сначала создайте вектор упорядоченных факторов для Rating:

Rating <- c("Very Poor Value", "Poor Value", "Neutral", "Good Value", "Very Good Value")
Rating <- factor(Rating, levels = Rating, ordered = T)

Затем создайте data.frame и преобразуйте его в длинный формат:

matrixValueData <- data.frame(A, B, C, Rating) %>% 
                       tidyr::gather(Group, Score, -Rating)

    print(head(matrixValueData))
#            Rating Group Score
# 1 Very Poor Value     A  0.32
# 2      Poor Value     A  1.89
# 3         Neutral     A 12.90
# 4      Good Value     A 51.85
# 5 Very Good Value     A 29.96
# 6 Very Poor Value     B  1.06

Наконец, сюжет:

plot_ly(matrixValueData, 
        x = ~Rating, 
        y = ~Score, 
        color = ~Group, 
        type = "bar", 
        marker = list(line = list(color = "black", width = 1)))

plotly_output

Вы можете дополнительно манипулировать цветами строки и текстом при наведении на аргументы marker и text соответственно. Подробнее в документации .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...