Multiple Colorsets in Multi-Series Column Chart - CanvasJS JavaScript Charts

Multiple Colorsets in Multi-Series Column Chart - CanvasJS JavaScript Charts

by canvasjs

HTML

<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
<br/><!-- Just so that JSFiddle's Result label doesn't overlap the Chart -->
<div id="chartContainer" style="height: 360px; width: 100%;"></div>

JavaScript

var colors = [];
var greenShades = ["#2F4F4F","#008080","#2E8B57","#3CB371","#90EE90","#003A00"];
var redShades = ["#F08080","#E9967A","#DC143C","#FF0000","#B22222","#8B0000"];
colors.push(greenShades);
colors.push(redShades);

var chart = new CanvasJS.Chart("chartContainer", {	
	title: {
  		text: "Multiple Colorsets in Multi-Series Chart"
  },
	data: [
  	{        
        type: "column",
        dataPoints: [
        { x: 10, y: 171 },
        { x: 20, y: 155},
        { x: 30, y: 150 },
        { x: 40, y: 165 },
        { x: 50, y: 195 },
        { x: 60, y: 168 },
        { x: 70, y: 128 },
        { x: 80, y: 134 },
        { x: 90, y: 114}
        ]
      },
		{
		type: "column",
		dataPoints: [
			{ x: 10, y: 71 },
			{ x: 20, y: 55 },
			{ x: 30, y: 50 },
			{ x: 40, y: 65 },
			{ x: 50, y: 95 },
			{ x: 60, y: 68 },
			{ x: 70, y: 28 },
			{ x: 80, y: 34 },
			{ x: 90, y: 14 }
		]
	}					
	]
});

addDpsColors(chart);

chart.render();

function addDpsColors(chart) {
		for(var i = 0; i < chart.options.data.length; i++) {
    		for(var j = 0; j < chart.options.data[i].dataPoints.length; j++){
        		console.log(i % colors.length)
        		chart.options.data[i].dataPoints[j].color = colors[i % colors.length][j % colors[i % colors.length].length];
        }
    }
}