图表条形图中的颜色

时间:2016-01-06 21:37:17

标签: r bar-chart plotly

我正在尝试使用R中的plotly生成条形图。条形图应按值排序,并且有两类条形图,我希望颜色不同。但是,当我添加颜色时,条形图分为两组,按组排序。有关如何将它们保存在一个组中的任何提示?

这是我的代码:

bundle install

一个例子:

enter image description here

1 个答案:

答案 0 :(得分:2)

这有点像黑客,但这“解决”了具体的问题。

从您的数据框开始:

    library(tidyr)

    plotting.df2 <- plotting.df %>%
      spread(names, value, fill = NA) %>%
      gather("names", "value", a:g)

    plot_ly(plotting.df2, 
        type="bar", 
        x=names, 
        y=value, 
        name="Comp a", 
        hoverinfo="text", 
        color=color,
        text=c(paste("Name:", plotting.df$names, 
                     "<br>Value:", signif(plotting.df$value, digits=3),
                     "<br>Label:", plotting.df$label))) %>%
    layout(barmode = "stack")

基本上,这种方法是为名称和颜色的每个组合创建一个数据点,并填充NA。然后将它们堆积在图中。

如果你想在以后实际堆叠数据值,这个'解决方案'可能没用了,但希望这个黑客会让某人至少暂时离开类似的漏洞。

编辑: 此示例使用plotly 3.x.x.如果您使用plotly 4.x.x或更高版本,则此代码可能无法正常工作。有关详情,请参阅此处:https://www.r-bloggers.com/upgrading-to-plotly-4-0-and-above/