<!DOCTYPE html>
<!--[if IE 9]><html lang="en-us" class="ie9"><![endif]-->
<!--[if gt IE 9]><!-->
<html lang="en-us">
<!--<![endif]-->
<head>
<title>Donut Charts - PatternFly</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="../img/favicon.ico">
<!-- iPad retina icon -->
<link rel="apple-touch-icon-precomposed" sizes="152x152" href="../img/apple-touch-icon-precomposed-152.png">
<!-- iPad retina icon (iOS < 7) -->
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../img/apple-touch-icon-precomposed-144.png">
<!-- iPad non-retina icon -->
<link rel="apple-touch-icon-precomposed" sizes="76x76" href="../img/apple-touch-icon-precomposed-76.png">
<!-- iPad non-retina icon (iOS < 7) -->
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="../img/apple-touch-icon-precomposed-72.png">
<!-- iPhone 6 Plus icon -->
<link rel="apple-touch-icon-precomposed" sizes="120x120" href="../img/apple-touch-icon-precomposed-180.png">
<!-- iPhone retina icon (iOS < 7) -->
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="../img/apple-touch-icon-precomposed-114.png">
<!-- iPhone non-retina icon (iOS < 7) -->
<link rel="apple-touch-icon-precomposed" sizes="57x57" href="../img/apple-touch-icon-precomposed-57.png">
<link rel="stylesheet" href="../css/patternfly.min.css" >
<link rel="stylesheet" href="../css/patternfly-additions.min.css" >
<link href="tests.css" rel="stylesheet" media="screen, print">
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/c3/0.4.11/c3.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.17/d3.min.js"></script>
<script src="../js/patternfly.min.js"></script>
</head>
<body>
<div class="container">
<div class="page-header">
<h1>Donut Charts</h1>
</div>
<div class="alert alert-warning">
<span class="pficon pficon-warning-triangle-o"></span>
These examples are included for development testing purposes. For official documentation, see <a href="https://www.patternfly.org" class="alert-link">https://www.patternfly.org</a>, <a href="http://getbootstrap.com" class="alert-link">http://getbootstrap.com</a>, and <a href="http://c3js.org/">http://c3js.org/</a>
</div>
<hr>
<style>
.example-donut-chart, .example-donut-chart-right-legend, .example-donut-chart-bottom-legend {
width: 440px;
}
.example-donut-chart {
margin-left: 10px;
}
.example-donut-chart-right-legend {
margin-left: 28px;
}
.example-donut-chart-bottom-legend {
margin-left: -25px;
}
.example-donut-chart-mini {
margin-left: 28px;
}
.example-donut-chart-utilization {
width: 220px;
margin-left: 10px;
}
</style>
<div>
<h2>Donut Chart - Utilization</h2>
<div class="text-center">
<div id="utilizationDonutChart1" class="example-donut-chart-utilization"></div>
<div class="pct-donut-chart-pf example-donut-chart-utilization">
<div class="pct-donut-chart-pf-chart">
<div id="utilizationDonutChart2"></div>
</div>
<span class="pct-donut-chart-pf-label">
60 MHz of 100 MHz used
</span>
</div>
<div class="example-donut-chart-utilization">
<span class="pct-donut-chart-pf pct-donut-chart-pf-left">
<div class="pct-donut-chart-pf-chart">
<div id="utilizationDonutChart3"></div>
</div>
<span class="pct-donut-chart-pf-label text-right">
60 MHz of 100 MHz used
</span>
</span>
</div>
<div class="example-donut-chart-utilization">
<span class="pct-donut-chart-pf pct-donut-chart-pf-right">
<div class="pct-donut-chart-pf-chart">
<div id="utilizationDonutChart4"></div>
</div>
<span class="pct-donut-chart-pf-label text-left">
60 MHz of 100 MHz
</span>
</span>
</div>
<script>
var c3ChartDefaults = $().c3ChartDefaults();
// Donut configuration 1
var donutConfig1 = c3ChartDefaults.getDefaultDonutConfig('A');
donutConfig1.bindto = '#utilizationDonutChart1';
donutConfig1.data = {
type: "donut",
columns: [
["Used", 60],
["Available", 40],
],
groups: [
["used", "available"]
],
order: null
};
donutConfig1.size = {
width: 180,
height: 180
};
donutConfig1.tooltip = {
contents: $().pfGetUtilizationDonutTooltipContentsFn('MHz')
};
c3.generate(donutConfig1);
$().pfSetDonutChartTitle("#utilizationDonutChart1", "60", "MHz Used");
// Donut configuration 2
var donutConfig2 = c3ChartDefaults.getDefaultDonutConfig('A');
donutConfig2.bindto = '#utilizationDonutChart2';
donutConfig2.data = {
type: "donut",
columns: [
["Used", 60],
["Available", 40]
],
groups: [
["used", "available"]
],
order: null
};
donutConfig2.size = {
width: 180,
height: 180
};
donutConfig2.tooltip = {
contents: $().pfGetUtilizationDonutTooltipContentsFn('MHz')
};
c3.generate(donutConfig2);
$().pfSetDonutChartTitle("#utilizationDonutChart2", "60", "MHz Used");
// Donut configuration 3
var donutConfig3 = c3ChartDefaults.getDefaultDonutConfig('A');
donutConfig3.bindto = '#utilizationDonutChart3';
donutConfig3.data = {
type: "donut",
columns: [
["Used", 60],
["Available", 40]
],
groups: [
["used", "available"]
],
order: null
};
donutConfig3.size = {
width: 140,
height: 140
};
donutConfig3.tooltip = {
contents: $().pfGetUtilizationDonutTooltipContentsFn('MHz')
};
c3.generate(donutConfig3);
$().pfSetDonutChartTitle("#utilizationDonutChart3", "60", "MHz Used");
// Donut configuration 4
var donutConfig4 = c3ChartDefaults.getDefaultDonutConfig('A');
donutConfig4.bindto = '#utilizationDonutChart4';
donutConfig4.data = {
type: "donut",
columns: [
["Used", 60],
["Available", 40]
],
groups: [
["used", "available"]
],
order: null
};
donutConfig4.size = {
width: 140,
height: 140
};
donutConfig4.tooltip = {
contents: $().pfGetUtilizationDonutTooltipContentsFn('MHz')
};
c3.generate(donutConfig4);
$().pfSetDonutChartTitle("#utilizationDonutChart4", "60", "MHz Used");
</script>
</div>
<h2>Donut Chart - Relationship to a Whole</h2>
<div>
<div id="donut-chart-no-legend1" class="example-donut-chart"></div>
<div id="donut-chart-no-legend2" class="example-donut-chart-right-legend"></div>
<div id="donut-chart-no-legend3" class="example-donut-chart-bottom-legend"></div>
<script>
var c3ChartDefaults = $().c3ChartDefaults();
var donutData = {
type : 'donut',
columns: [
['Dogs', 2],
['Cats', 2],
['Fish', 3],
['Hamsters', 1]
],
onclick: function (d, i) { console.log("onclick", d, i); },
onmouseover: function (d, i) { console.log("onmouseover", d, i); },
onmouseout: function (d, i) { console.log("onmouseout", d, i); }
};
// Donut Chart without Legend
var donutChartConfig = c3ChartDefaults.getDefaultRelationshipDonutConfig();
donutChartConfig.bindto = '#donut-chart-no-legend1';
donutChartConfig.tooltip = {show: true};
donutChartConfig.data = donutData;
donutChartConfig.size = {
width: 200,
height: 171
};
donutChartConfig.tooltip = {
contents: $().pfDonutTooltipContents
};
var donutChartNoLegend = c3.generate(donutChartConfig);
$().pfSetDonutChartTitle("#donut-chart-no-legend1", "8", "Animals");
// Right Legend
var donutChartRightConfig = c3ChartDefaults.getDefaultRelationshipDonutConfig();
donutChartRightConfig.bindto = '#donut-chart-no-legend2';
donutChartRightConfig.tooltip = {show: true};
donutChartRightConfig.data = donutData;
donutChartRightConfig.legend = {
show: true,
position: 'right'
};
donutChartRightConfig.size = {
width: 251,
height: 161
};
donutChartRightConfig.tooltip = {
contents: $().pfDonutTooltipContents
};
var donutChartRightLegend = c3.generate(donutChartRightConfig);
$().pfSetDonutChartTitle("#donut-chart-no-legend2", "8", "Animals");
// Donut Chart Bottom Legend
var donutChartBottomConfig = c3ChartDefaults.getDefaultRelationshipDonutConfig();
donutChartBottomConfig.bindto = '#donut-chart-no-legend3';
donutChartBottomConfig.tooltip = {show: true};
donutChartBottomConfig.data = donutData;
donutChartBottomConfig.legend = {
show: true,
position: 'bottom'
};
donutChartBottomConfig.size = {
width: 271,
height: 191
};
donutChartBottomConfig.tooltip = {
contents: $().pfDonutTooltipContents
};
var donutChartBottomLegend = c3.generate(donutChartBottomConfig);
$().pfSetDonutChartTitle("#donut-chart-no-legend3", "8", "Animals");
</script>
</div>
<h2>Donut Chart - Small</h2>
<div>
<div id="smallDonutChart" class="donut-chart-pf example-donut-chart-mini"></div>
<div style="text-align: center; width: 220px;">Animals</div>
<script>
var c3ChartDefaults = $().c3ChartDefaults();
var donutData = {
type : 'donut',
columns: [
['Dogs', 2],
['Cats', 2],
['Fish', 3],
['Hamsters', 1]
],
onclick: function (d, i) { console.log("onclick", d, i); },
onmouseover: function (d, i) { console.log("onmouseover", d, i); },
onmouseout: function (d, i) { console.log("onmouseout", d, i); }
};
// Small Donut Chart
var donutChartSmallConfig = c3ChartDefaults.getDefaultRelationshipDonutConfig('8');
donutChartSmallConfig.bindto = '#smallDonutChart';
donutChartSmallConfig.tooltip = {show: true};
donutChartSmallConfig.data = donutData;
donutChartSmallConfig.legend = {
show: true,
position: 'right'
};
donutChartSmallConfig.size = {
width: 250,
height: 115
};
donutChartSmallConfig.tooltip = {
contents: $().pfDonutTooltipContents
};
var donutChartSmall = c3.generate(donutChartSmallConfig);
</script>
</div>
</div>
</div><!-- /container -->
</body>
</html>