Help us shape the 2021 DevExtreme Roadmap. Take our 5 minute survey.
Your search did not match any results.
Funnel and Pyramid Charts

Pyramid Chart


The DevExtreme HTML5 JavaScript Pyramid Chart is often used to visualize an organizational structure. In this demo, the pyramid displays a team’s composition, reflecting both subordination and strength. In code, the pyramid is created using the Funnel UI component with the algorithm property set to «dynamicHeight» and inverted property set to true.

Copy to CodePen
var DemoApp = angular.module('DemoApp', ['dx']); DemoApp.controller('DemoController', function DemoController($scope) { $scope.pyramidOptions = { dataSource: dataSource, valueField: "count", argumentField: "level", title: { text: "Team Composition", margin: { bottom: 30 } }, tooltip: { enabled: true }, inverted: true, algorithm: "dynamicHeight", item: { border: { visible: true } }, legend: { visible: true }, label: { visible: true, backgroundColor: "none", horizontalAlignment: "left", font: { size: 16 } }, palette: 'Harmony light', sortData: false }; });
<!DOCTYPE html> <html xmlns="" > <head> <title>DevExtreme Demo</title> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" /> <script src=""></script> <script>window.jQuery || document.write(decodeURIComponent('%3Cscript src="js/jquery.min.js"%3E%3C/script%3E'))</script> <link rel="stylesheet" type="text/css" href="" /> <link rel="stylesheet" type="text/css" href="" /> <script src=""></script> <script>window.angular || document.write(decodeURIComponent('%3Cscript src="js/angular.min.js"%3E%3C/script%3E'))</script> <script src=""></script> <script src="data.js"></script> <link rel="stylesheet" type="text/css" href="styles.css" /> <script src="index.js"></script> </head> <body class="dx-viewport"> <div class="demo-container" ng-app="DemoApp" ng-controller="DemoController"> <div id="pyramid" dx-funnel="pyramidOptions"></div> </div> </body> </html>
#pyramid { height: 440px; }
var dataSource = [{ count: 75, level: "Junior Engineer" }, { count: 95, level: "Mid-Level Engineer" }, { count: 53, level: "Senior Engineer" }, { count: 23, level: "Lead Engineer" }, { count: 18, level: "Architect" }];