Барный участок в красной шкале - PullRequest
0 голосов
/ 30 апреля 2020

Я хотел бы раскрасить каждую полосу в соответствии со значением по красной шкале. Например, самым большим столбцом будет черный rgb (0,0,0), самым маленьким будет rgb (80,0,0), а промежуточные будут различаться по интенсивности.

Ссылка ниже имеет решение в python, я хотел бы сделать это заново и использовать график

Изменение цветовой шкалы на графике морского бара

library(plotly)

city   <- c("Paris", "New York", "Rio", "Salvador", "Curitiba", "Natal")
value  <- c(10,20,30,10,10,10)

data   <- data.frame(city, value, stringsAsFactors = FALSE)

data <- data[order(-data$value, data$city),]

data$city <- factor(data$city, levels = unique(data$city)[order(data$value, decreasing = FALSE)])


fig <- plot_ly(y = reorder(data$city,-data$value), x = data$value, type = "bar", orientation = 'h') %>% layout(yaxis = list(autorange = "reversed"))
fig

1 Ответ

2 голосов
/ 30 апреля 2020

На вашем месте я бы использовал пакет ggplot2 в R. Вы можете передавать графики ggplot непосредственно в Plotly.

См. Шпаргалку здесь: https://github.com/rstudio/cheatsheets/blob/master/data-visualization-2.1.pdf

Существует функция scale_fill_gradient (), где вы можете установить свои низкие и высокие значения. Это будет работать идеально для ваших целей.

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