Plotly(R)条形图,具有自定义颜色范围

时间:2017-06-01 09:25:58

标签: r plot plotly

我正在创建一个简单的Plotly条形图,其中包含以下数据,其中各个条形图的颜色将根据条形图的相应值而变化。但是应该定义颜色范围,即从蓝色(最小)到红色(最高)

df <- data.frame(x = c('a', 'B'), 
                 y = c(100, 50),
                 z = c(100, 50))


plot_ly(data = df, 
        x = ~x, 
        y = ~y, 
        marker = list(color = ~z), 
        colors = c("blue", "red"), 
        type = "bar")

不幸的是,Plotly用不同的颜色方案显示条形图。能否请你指出正确的代码。

提前致谢

1 个答案:

答案 0 :(得分:1)

我猜你想要这样的东西:

plot_ly(data = df, 
            x = ~x, 
            y = ~y, 
            marker = list(color =c("blue", "red")), 
            type = "bar")

<强> [编辑]:

根据我编辑代码的评论。希望这是你想要的。

 df <- data.frame(x = c('a', 'B', "c", "d", "e"), 
                     y = c(100, 50, 20, 10, 100),
                     z = c(100, 50,  20, 10, 100))


    colfunc <- colorRampPalette(c("blue", "red"))
    pal <- colfunc(max(df$z))[df$z]

    plot_ly(data = df, 
            x = ~x, 
            y = ~y, 
            marker = list(color =  pal), 
            type = "bar")