【发布时间】:2021-05-16 03:52:57
【问题描述】:
我正在尝试使用如下图所示的顺序调色板创建一个分组柱形图。我在我的 df 中为每个条分配了一种颜色。通常这将是动态的,颜色可能每次都不同,但我得到一个没有颜色多样性的堆叠条形图。
Cum <- structure(list(`Age group` = c("00-04", "00-04", "05-14", "05-14",
"15-24", "15-24", "25-49", "25-49", "50-64", "50-64", "65-79",
"65-79", "80+", "80+"), Gender = c("Female", "Male", "Female",
"Male", "Female", "Male", "Female", "Male", "Female", "Male",
"Female", "Male", "Female", "Male"), Cases = c(64578, 70518,
187568, 197015, 414405, 388138, 1342394, 1206168, 792180, 742744,
400232, 414613, 282268, 198026), color = c("#4285f4", "#4285f4",
"#90a9e0", "#90a9e0", "#dd9e5f", "#dd9e5f", "#b45f06", "#b45f06",
"#b45f06", "#b45f06", "#dd9e5f", "#dd9e5f", "#aebbd6", "#90a9e0"
), width = c("1", "1", "1", "1", "1", "1", "1", "1", "1", "1",
"1", "1", "1", "1")), class = "data.frame", row.names = c(NA,
-14L))
mycols<-c("#4285f4","#6e97ea","#90a9e0","#aebbd6","#cccccc","#dd9e5f","#d58739","#c6721f","#b45f06")
fig <- plot_ly(
data = Cum,
x = ~ `Age group`,
y = ~ Cases,
type = 'bar',
color = ~ color,
colors = mycols,
text=~Gender,
textposition = 'outside',
# rotate label
textangle = 270,
textfont = list(color = "black"),
customdata = ~ paste("<b>Gender:</b>", Gender, "<br><b>Age:</b>",`Age group` , "<br><b>Cases:</b>", Cases, "<br><b>Total cases in age group:</b>", `Age group`),
hovertemplate = paste('%{customdata}<extra></extra>')
) %>% layout(barmode = 'group',uniformtext=list(minsize=10, mode='show')
)%>%config(modeBarButtonsToRemove = c('toImage',"zoom2d","toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian","drawline","autoScale2d" ,"resetScale2d","zoomIn2d","zoomOut2d","pan2d",'select2d','lasso2d'))%>%
config(displaylogo = FALSE)
fig
【问题讨论】: