As the topic says, I simply want to customize the color of each bar based on the value of the y axis.
The range of value-colors are:
- 0-50: green
- 50-75: yellow
- 75-100: red
I tried to search this topic on Google a lot but could not find any results.
This stackoverflow question was the closest to my answer however it's not for nvd3. If in case it is, please do tell me which location I am supposed to add the functions.
My codes are as follow:-
HTML:-
<nvd3 options="options" data="data2"></nvd3>
JS:-
/* Chart options */
$scope.options = { /* JSON data */
chart: {
type: 'multiBarChart',
height: 250,
showControls: false,
margin : {
top: 20,
right: 20,
bottom: 45,
left: 45
},
clipEdge: true,
duration: 500,
stacked: true,
xAxis: {
axisLabel: 'Time (ms)',
showMaxMin: false,
tickFormat: function(d){
return d3.format(',f')(d);
}
},
yAxis: {
axisLabel: 'Y Axis',
axisLabelDistance: -20,
tickFormat: function(d){
return d3.format(',.1f')(d);
}
}
},
// title options
title: {
enable: true,
text: 'Title for Line Chart'
},
// subtitle options
subtitle: {
enable: true,
text: 'Subtitle for simple line chart. Lorem ipsum dolor sit amet...',
css: {
'text-align': 'center',
'margin': '10px 13px 0px 7px'
}
},
// caption options
caption: {
enable: true,
html: 'Figure 1. Lorem ipsum dolor sit amet...',
css: {
'text-align': 'justify',
'margin': '10px 13px 0px 7px'
}
}
};
/* Chart data */
$scope.data2 = [{"key":"Thermal","values":[{"x":0,"y":44},{"x":1,"y":24},{"x":2,"y":66},{"x":3,"y":10},{"x":4,"y":33}]}];