<!DOCTYPE html>
<html ng-app="pietest">
<head>
<link data-require="nvd3@1.8.1" data-semver="1.8.1" rel="stylesheet" href="https://cdn.rawgit.com/novus/nvd3/v1.8.1/build/nv.d3.css" />
<link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet" data-semver="3.1.1" data-require="bootstrap-css@3.1.1" />
<script data-require="jquery@*" data-semver="2.1.4" src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
<script data-require="d3@3.3.11" data-semver="3.3.11" src="http://d3js.org/d3.v3.min.js"></script>
<script data-require="nvd3@1.8.1" data-semver="1.8.1" src="https://cdn.rawgit.com/novus/nvd3/v1.8.1/build/nv.d3.js"></script>
<script data-require="angular.js@1.3.17" data-semver="1.3.17" src="https://code.angularjs.org/1.3.17/angular.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.0/lodash.js" data-semver="3.10.0" data-require="lodash.js@*"></script>
<script src="https://rawgit.com/krispo/angular-nvd3/v1.0.2/dist/angular-nvd3.js"></script>
<script src="https://rawgit.com/euangoddard/holder-ipsum/master/holder-ipsum.js"></script>
<link href="style.css" rel="stylesheet" />
<script src="script.js"></script>
</head>
<body ng-controller="MainCtrl">
<div class="container">
<div class="row">
<div class="col-md-6">
<h3>Without hack</h3>
<nvd3 options="plainoptions" data="data" class="with-3d-shadow with-transitions"></nvd3>
<h3>With hack</h3>
<nvd3 options="options" data="data" class="with-3d-shadow with-transitions"></nvd3>
</div>
<div class="col-md-6 text-warning">
{{fluff}}
</div>
</div>
</div>
</body>
</html>
// Code goes here
var app = angular.module("pietest", ['nvd3']);
app.controller('MainCtrl', function($scope) {
var tooltip = nv.models.tooltip();
tooltip.duration(0);
$scope.fluff = HolderIpsum.paragraph(4);
$scope.data = _.map(_.range(5, 16, 2), function(o) {
return {
key: HolderIpsum.words(o),
value: o
}
});
$scope.plainoptions = {
chart: {
type: 'pieChart',
height: 200,
x: function(d) {
return d.key;
},
y: function(d) {
return d.value;
},
showLabels: false,
transitionDuration: 500,
legend: {
vers: 'furious'
},
legendPosition: 'right'
}
}
$scope.options = {
chart: {
type: 'pieChart',
height: 200,
x: function(d) {
if (d.key.length > 30) {
return d.key.substr(0, 30) + "...";
} else {
return d.key;
}
},
y: function(d) {
return d.value;
},
showLabels: false,
transitionDuration: 500,
legend: {
vers: 'furious',
dispatch: {
legendMouseover: function(o) {
if (tooltip.hidden()) {
var data = {
series: {
key: o.key,
value: o.value + " words",
color: o.color
}
};
tooltip.data(data)
.hidden(false);
}
tooltip.position({
top: d3.event.pageY,
left: d3.event.pageX
})();
},
legendMouseout: function(o) {
tooltip.hidden(true);
}
}
},
legendPosition: 'right',
valueFormat: function(d) {
return d + " words";
}
}
};
});
/* Styles go here */