JSFiddle - React, Tailwind, and code Playground
HTML
<script src="http://cdn.wijmo.com/5.20142.15/controls/wijmo.min.js"></script>
<link rel="stylesheet" href="http://cdn.wijmo.com/5.20142.15/styles/wijmo.min.css">
<script src="http://cdn.wijmo.com/5.20142.15/controls/wijmo.chart.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular.min.js"></script>
<script src="http://cdn.wijmo.com/5.20142.15/interop/angular/wijmo.angular.min.js"></script>
<div ng-app="app" ng-controller="appCtrl">
<wj-flex-chart items-source="data" item-formatter="itemFormatter" binding-x="country">
<wj-flex-chart-series name="Sales" binding="sales"></wj-flex-chart-series>
</wj-flex-chart>
</div>
JavaScript
// declare app module
var app = angular.module('app', ['wj']);
// app controller provides data
app.controller('appCtrl', function appCtrl($scope) {
// generate some random data
var countries = 'US,Germany,UK,Japan,Italy,Greece'.split(','),
data = [];
for (var i = 0; i < countries.length; i++) {
data.push({
country: countries[i],
downloads: Math.round(Math.random() * 20000),
sales: Math.random() * 10000,
expenses: Math.random() * 5000
});
}
// add data array to scope
$scope.data = data;
var defaultColor;
$scope.itemFormatter = function (engine, hitTestInfo, defaultFormat) {
if (!defaultColor) defaultColor = engine.fill;
if (hitTestInfo.chartElement == wijmo.chart.ChartElement.SeriesSymbol) {
//check for specific bar using value property of hitTestInfo object
//change of color of bars having value greater than 5000
if (hitTestInfo.value < 5000) engine.fill = get_random_color();
else engine.fill = defaultColor;
defaultFormat();
}
};
function get_random_color() {
function c() {
return Math.floor(Math.random() * 256).toString(16)
}
return "#" + c() + c() + c();
}
});