custom colors in R Plotly

前端 未结 4 2063
没有蜡笔的小新
没有蜡笔的小新 2021-01-12 00:57

I\'m currently a beginner in Plotly and have a problem I can\'t seem to solve. I have my plotly stacked bar chart but I don\'t know how to color each individual category. I

4条回答
  •  情书的邮戳
    2021-01-12 01:44

    You need to specify a factor for the color parameters, and then a vector of colours for the colors parameter.

    Here is a simple solution. Note the ordering required on the data frame before plotting.

    require(dplyr)
    require(plotly)
    
    set.seed(42)
    
    df <- data.frame(x = rep(LETTERS[1:5], 3), 
                     y = rexp(15, rate = 0.5),
                     z = c(rep("Adam", 5), rep("Arthur", 5), rep("Ford", 5)))
    df <- arrange(df, desc(z))
    
    plot_ly(df, 
            x = x, 
            y = y, 
            color = z, 
            colors = c("grey50", "blue", "red"), 
            type = "bar") %>% 
        layout(barmode = "stack")
    

    The ordering on the data frame matters strangely. I would have thought plot_ly would use the order of the levels but it doesn't.

    EDIT: This example uses plotly 3.x.x. If you use plotly 4.x.x or above, this code may not work as is. See here for more details: https://www.r-bloggers.com/upgrading-to-plotly-4-0-and-above/

提交回复
热议问题