红色标尺图

问题描述 投票:0回答:1

我想根据红色刻度上的值为每个条着色。例如,最大的条形为黑色rgb(0,0,0),最小的条形为rgb(80,0,0),中间的条形会有所不同。

下面的链接在python中有一个解决方案,我想重新使用并使用plotly

Changing color scale in seaborn bar plot

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
r plotly
1个回答
0
投票

[如果您是我,我会在R中使用ggplot2软件包。您可以将ggplot绘图直接输入Plotly。

请参见备忘单:https://github.com/rstudio/cheatsheets/blob/master/data-visualization-2.1.pdf

有一个scale_fill_gradient()函数,您可以在其中设置低值和高值。它会完全适合您的目的。

© www.soinside.com 2019 - 2024. All rights reserved.