在R中凹陷dPlot颜色x轴条形值

时间:2014-08-26 20:36:56

标签: r rcharts

我正在尝试为Dimple dPlot线值设置手动颜色并遇到一些麻烦。

d1 <- dPlot(
   x="Date", 
   y="Count",
   groups = "Category",
   data = AB_DateCategory,
   type = 'line'
  )

d1$xAxis(orderRule = "Date")
d1$yAxis(type = "addMeasureAxis")
d1$xAxis(
     type = "addTimeAxis",
     inputFormat = "%Y-%m-%d",
     outputFormat = "%Y-%m-%d",
     )

情节看起来很棒,但我想手动设置“类别”颜色。现在,它被设置为默认值,我似乎找不到手动设置比例的方法。

我可以使用brewer.pal设置默认值,但我想在报告中匹配其他颜色:

d1$defaultColors(brewer.pal(n=4,"Accent"))

理想情况下,这些是我的四种颜色 - 我正在分组的类别值是R,D,O和U.

("#377EB8", "#4DAF4A", "#E41A1C", "#984EA3"))

2 个答案:

答案 0 :(得分:2)

如果我理解正确,你想确保R是#377EB8等。为了使R,D,O,U始终与颜色匹配,特别是在多个图表中,你需要做这样的事情。

d1$defaultColors = "#!d3.scale.ordinal().range(['#377EB8', '#4DAF4A', '#E41A1C', '#984EA3']).domain(['R','D','O','U'])!#"

这是我要做的事情清单。

如果这不起作用,请告诉我。

答案 1 :(得分:0)

上面接受的答案的问题是定义序数标度不能保证特定颜色与特定类别R,D,O和U绑定。颜色映射将根据输入数据而变化。要专门分配每种颜色,您可以像这样使用 assignColor

d1$setTemplate(afterScript = '<script>
myChart.assignColor("R","#377EB8");
myChart.draw();
</script>')