多个图的自动不同颜色?

Automatic different colors for multiple plots?

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

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

例如有 4 个图我想使用 dygraph 中的 4 个第一颜色,前 10 个颜色有 10 个 .. 就像在一个有多个系列的图中一样。

定义标准调色板的代码是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 选项为每个绘图设置不同的颜色。