多个地块的自动不同颜色?

时间:2015-05-29 09:50:42

标签: javascript dygraphs

我使用dygraphs.js渲染一些情节。在一个图中使用mutliple系列,这些系列将获得不同的颜色,这些颜色非常适合(因此dygraphs具有很好的调色板)。但是,如果我使用多个绘图,则每个绘图都具有相同的颜色(只有一个系列)。

我想为每个绘图使用dygraphs调色板,以便颜色与自动调色板相同 - 有没有办法访问dygraphs颜色调色板,最好使用整数索引,因为我没有'事先知道会有多少块情节?

E.g。有4个情节我想用dygraph中的4个第一个颜色,10个前10个颜色..就像在一个多个系列的情节中一样。

1 个答案:

答案 0 :(得分:1)

定义标准调色板的代码是here。这是要点:

var colors = [];
var half = Math.ceil(numSeries / 2);
for (var i = 0; i < numSeries; i++) {
  // alternate colors for high contrast.
  var idx = i % 2 ? (half + (i + 1)/ 2) : Math.ceil((i + 1) / 2);
  var hue = (1.0 * idx / (1 + numSeries));
  colorStr = Dygraph.hsvToRGB(hue, sat, val);
  colors.push(colorStr);
}

您最好的选择是创建一个颜色数组,并使用colors选项为每个绘图设置不同的颜色。