@domoinc/multiline-chart
Version:
MultiLineChart - Domo Widget
49 lines • 5.4 kB
JavaScript
//**********************************************************************************
// Returns primary and secondary color ranges in an object so you can use the correct
// color range given the input parameter of series count
// Example:
// var color_range = d3.DomoColorRange(5)
// //Now color Range is an object containing two keys 'primary', and 'secondary' using
// //the key will give you access to the array of colors.
// //secondary colors are often used for text elements on the correcting primary color
//
//**********************************************************************************
d3.DomoColorRange = function(seriesCount){
if(seriesCount <=4){
return {primary : ["#73B0D7","#BBE491","#FB8D34","#E45621"].slice(0,seriesCount),
secondary : ["#D9EBFD","#387B26","#FDECAD","#FDECAD"].slice(0,seriesCount)};
}else if(seriesCount <= 17){
var colorRanges = {
5 : {primary : ["#73B0D7","#A0D771","#559E38","#FBAD56","#E45621"],
secondary : ["#D9EBFD","#DDF4BA","#DDF4BA","#FDECAD","#FDECAD"]},
6 : {primary : ["#90c4e4","#4E8CBA","#A0D771","#559E38","#FBAD56","#E45621"],
secondary : ["#D9EBFD","#D9EBFD","#DDF4BA","#DDF4BA","#FDECAD","#FDECAD"]},
7 : {primary : ["#90c4e4","#4E8CBA","#A0D771","#559E38","#FCCF84","#E45621","#FB8D34"],
secondary : ["#D9EBFD","#D9EBFD","#DDF4BA","#DDF4BA","#A43724","#FDECAD","#FDECAD"]},
8 : {primary : ["#90c4e4","#4E8CBA","#BBE491","#559E38","#80C25D","#FCCF84","#E45621","#FB8D34"],
secondary : ["#D9EBFD","#D9EBFD","#387B26","#DDF4BA","#DDF4BA","#A43724","#FDECAD","#FDECAD"]},
9 : {primary : ["#B7DAF5","#4E8CBA","#73B0D7","#BBE491","#559E38","#80C25D","#FCCF84","#E45621","#FB8D34"],
secondary : ["#31689B","#D9EBFD","#D9EBFD","#387B26","#DDF4BA","#DDF4BA","#A43724","#FDECAD","#FDECAD"]},
10 : {primary : ["#B7DAF5","#4E8CBA","#73B0D7","#BBE491","#559E38","#80C25D","#FDECAD","#FB8D34","#FCCF84","#E45621"],
secondary : ["#31689B","#D9EBFD","#D9EBFD","#387B26","#DDF4BA","#DDF4BA","#E45621","#FDECAD","#A43724","#FDECAD"]},
11 : {primary : ["#B7DAF5","#4E8CBA","#73B0D7","#DDF4BA","#80C25D","#BBE491","#559E38","#FDECAD","#FB8D34","#FCCF84","#E45621"],
secondary : ["#31689B","#D9EBFD","#D9EBFD","#559E38","#DDF4BA","#387B26","#DDF4BA","#E45621","#FDECAD","#A43724","#FDECAD"]},
12 : {primary : ["#D9EBFD","#73B0D7","#B7DAF5","#4E8CBA","#DDF4BA","#80C25D","#BBE491","#559E38","#FDECAD","#FB8D34","#FCCF84","#E45621"],
secondary : ["#4E8CBA","#D9EBFD","#31689B","#D9EBFD","#559E38","#DDF4BA","#387B26","#DDF4BA","#E45621","#FDECAD","#A43724","#FDECAD"]},
13 : {primary : ["#D9EBFD","#73B0D7","#B7DAF5","#4E8CBA","#DDF4BA","#80C25D","#BBE491","#559E38","#FDECAD","#FB8D34","#FCCF84","#E45621","#FBAD56"],
secondary : ["#4E8CBA","#D9EBFD","#31689B","#D9EBFD","#559E38","#DDF4BA","#387B26","#DDF4BA","#E45621","#FDECAD","#A43724","#FDECAD","#FDECAD"]},
14 : {primary : ["#D9EBFD","#73B0D7","#B7DAF5","#4E8CBA","#DDF4BA","#80C25D","#BBE491","#559E38","#A0D771","#FDECAD","#FB8D34","#FCCF84","#E45621","#FBAD56"],
secondary : ["#4E8CBA","#D9EBFD","#31689B","#D9EBFD","#559E38","#DDF4BA","#387B26","#DDF4BA","#DDF4BA","#E45621","#FDECAD","#A43724","#FDECAD","#FDECAD"]},
15 : {primary : ["#D9EBFD","#73B0D7","#B7DAF5","#4E8CBA","#90c4e4","#DDF4BA","#80C25D","#BBE491","#559E38","#A0D771","#FDECAD","#FB8D34","#FCCF84","#E45621","#FBAD56"],
secondary : ["#4E8CBA","#D9EBFD","#31689B","#D9EBFD","#D9EBFD","#559E38","#DDF4BA","#387B26","#DDF4BA","#DDF4BA","#E45621","#FDECAD","#A43724","#FDECAD","#FDECAD"]},
16 : {primary : ["#D9EBFD","#73B0D7","#B7DAF5","#4E8CBA","#90c4e4","#DDF4BA","#80C25D","#BBE491","#559E38","#A0D771","#FDECAD","#FB8D34","#FCCF84","#E45621","#FBAD56","#A43724"],
secondary : ["#4E8CBA","#D9EBFD","#31689B","#D9EBFD","#D9EBFD","#559E38","#DDF4BA","#387B26","#DDF4BA","#DDF4BA","#E45621","#FDECAD","#A43724","#FDECAD","#FDECAD","#FDECAD"]},
17 : {primary : ["#D9EBFD","#73B0D7","#B7DAF5","#4E8CBA","#90c4e4","#DDF4BA","#80C25D","#BBE491","#559E38","#A0D771","#387B26","#FDECAD","#FB8D34","#FCCF84","#E45621","#FBAD56","#A43724"],
secondary : ["#4E8CBA","#D9EBFD","#31689B","#D9EBFD","#D9EBFD","#559E38","#DDF4BA","#387B26","#DDF4BA","#DDF4BA","#DDF4BA","#E45621","#FDECAD","#A43724","#FDECAD","#FDECAD","#FDECAD"]},
};
return colorRanges[seriesCount];
}else{
return {primary : ["#D9EBFD","#73B0D7","#B7DAF5","#4E8CBA","#90c4e4","#31689B","#DDF4BA","#80C25D","#BBE491","#559E38","#A0D771","#387B26","#FDECAD","#FB8D34","#FCCF84","#E45621","#FBAD56","#A43724","#F3E4FE","#B391CA","#DDC8EF","#8F6DC0","#C5ACDE","#7940A1","#FCD7E6","#EE76BF","#FBB6DD","#CF51AC","#F395CD","#A62A92","#D8F4DE","#68BEA8","#ABE4CA","#46998A","#8DD5BE","#227872", "#FDDDDD","#FCBCB7","#FD9A93","#FD7F76","#E45850","#C92E25", "#F1F2F2","#CACBCC","#B0B1B2","#959899","#7B7E80","#54585A"].slice(0,seriesCount),
secondary : ["#4E8CBA","#D9EBFD","#31689B","#D9EBFD","#D9EBFD","#D9EBFD","#559E38","#DDF4BA","#387B26","#DDF4BA","#DDF4BA","#DDF4BA","#E45621","#FDECAD","#A43724","#FDECAD","#FDECAD","#FDECAD","#8F6DC0","#F3E4FE","#7940A1","#F3E4FE","#F3E4FE","#F3E4FE","#CF51AC","#FCD7E6","#A62A92","#FCD7E6","#FCD7E6","#FCD7E6","#46998A","#D8F4DE","#227872","#D8F4DE","#D8F4DE","#D8F4DE", "#FD7F76","#E45850","#C92E25","#FDDDDD","#FCBCB7","#FD9A93", "#959899","#7B7E80","#54585A","#F1F2F2","#CACBCC","#B0B1B2"].slice(0,seriesCount)};
}
};