Your search did not match any results.
Pie Charts

Pies with Equal Sizes

Documentation

When several PieChart widgets are displayed side by side, their pies may differ in size. To eliminate these differences, you can collect all PieCharts in a single size group by setting their sizeGroup option to identical values.

Apply
Reset
<template> <div class="pies-container"> <dx-pie-chart :data-source="countries" class="pie" title="Area of Countries" size-group="piesGroup" palette="Soft" > <dx-series argument-field="name" value-field="area" > <dx-label :visible="true" format="percent" /> </dx-series> <dx-legend vertical-alignment="bottom" horizontal-alignment="center" item-text-position="right" /> </dx-pie-chart> <dx-pie-chart :data-source="waterLandRatio" class="pie" title="Water/Land Ratio" size-group="piesGroup" palette="Soft Pastel" > <dx-series argument-field="name" value-field="area" > <dx-label :visible="true" format="percent" /> </dx-series> <dx-legend :row-count="2" vertical-alignment="bottom" horizontal-alignment="center" item-text-position="right" /> </dx-pie-chart> </div> </template> <script> import DxPieChart, { DxSeries, DxLabel, DxLegend } from 'devextreme-vue/pie-chart'; import { countries, waterLandRatio } from './data.js'; export default { components: { DxPieChart, DxSeries, DxLabel, DxLegend }, data() { return { countries, waterLandRatio }; } }; </script> <style> .pies-container { margin: auto; width: 800px; } .pies-container > .pie { width: 400px; float: left; } </style>
import Vue from 'vue'; import App from './App.vue'; new Vue({ el: '#app', components: { App }, template: '<App/>' });
<!DOCTYPE html> <html> <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" /> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/19.2.3/css/dx.common.css" /> <link rel="stylesheet" type="text/css" href="https://cdn3.devexpress.com/jslib/19.2.3/css/dx.light.css" /> <script src="https://unpkg.com/core-js@2.4.1/client/shim.min.js"></script> <script src="https://unpkg.com/systemjs@0.21.3/dist/system.js"></script> <script type="text/javascript" src="config.js"></script> <script type="text/javascript"> System.import('./index.js'); </script> </head> <body class="dx-viewport"> <div class="demo-container"> <div id="app"> <span v-if="false">Loading...</span> </div> </div> </body> </html>
export const waterLandRatio = [{ name: 'Land', area: 0.29 }, { name: 'Water', area: 0.71 }]; export const countries = [{ name: 'Russia', area: 0.12 }, { name: 'Canada', area: 0.07 }, { name: 'USA', area: 0.07 }, { name: 'China', area: 0.07 }, { name: 'Brazil', area: 0.06 }, { name: 'Australia', area: 0.05 }, { name: 'India', area: 0.02 }, { name: 'Others', area: 0.55 }];
System.config({ transpiler: 'plugin-babel', paths: { 'npm:': 'https://unpkg.com/' }, map: { vue: 'npm:vue@2.6.3/dist/vue.esm.browser.js', 'vue-loader': 'npm:dx-systemjs-vue-browser@latest/index.js', 'devextreme': 'npm:devextreme@19.2', 'devextreme-vue': 'npm:devextreme-vue@19.2', jszip: 'npm:jszip@3.1.3/dist/jszip.min.js', 'quill': 'npm:quill@1.3.7/dist/quill.js', 'devexpress-diagram': 'npm:devexpress-diagram', 'devexpress-gantt': 'npm:devexpress-gantt', 'plugin-babel': 'npm:systemjs-plugin-babel@0/plugin-babel.js', 'systemjs-babel-build': 'npm:systemjs-plugin-babel@0/systemjs-babel-browser.js' }, meta: { '*.vue': { loader: 'vue-loader' } }, packages: { 'devextreme-vue': { main: 'index.js' }, 'devextreme': { defaultExtension: 'js' } }, babelOptions: { sourceMaps: false, stage0: true } });