React PieChart - Customize Labels
If you need to change the text displayed by point labels, declare the customizeText function. It must return a string value. The argument of this function contains information about the point whose label is being customized. In the following example, the customizeText function instructs point labels to display both the argument and value of a point.
jQuery
$(function() { $("#pieChartContainer").dxPieChart({ // ... series: { label: { visible: true, customizeText: function (pointInfo) { return pointInfo.argument + ': ' + pointInfo.value; } } } }); });
Angular
<dx-pie-chart ... > <dxi-series> <dxo-label [visible]="true" [customizeText]="customizeText"> </dxo-label> </dxi-series> </dx-pie-chart>
import { DxPieChartModule } from "devextreme-angular"; // ... export class AppComponent { customizeText (pointInfo: any) { return pointInfo.argument + ': ' + pointInfo.value; } } @NgModule({ imports: [ // ... DxPieChartModule ], // ... })
Vue
<template> <DxPieChart ... > <DxSeries> <DxLabel :visible="true" :customize-text="customizeText" /> </DxSeries> </DxPieChart> </template> <script> import DxPieChart, { DxSeries, DxLabel } from 'devextreme-vue/pie-chart'; export default { components: { DxPieChart, DxSeries, DxLabel }, methods: { customizeText({ argument, value }) { return `${argument}: ${value}`; } } } </script>
React
import React from 'react'; import PieChart, { Series, Label } from 'devextreme-react/pie-chart'; class App extends React.Component { render() { return ( <PieChart ... > <Series> <Label visible={true} customizeText={customizeText} /> </Series> </PieChart> ); } } function customizeText({ argument, value }) { return `${argument}: ${value}`; }
You can also customize an individual label. For this purpose, assign a function to the customizeLabel property. This function must return an object with properties for the label that you want to customize. Note that the customizeLabel property should be declared at the root level of the PieChart configuration.
jQuery
$(function() { $("#pieChartContainer").dxPieChart({ // ... series: { label: { visible: true, backgroundColor: 'blue' } }, // All point labels with the value more than 100 turn red // Other point labels remain blue customizeLabel: function (pointInfo) { return pointInfo.value > 100 ? { backgroundColor: 'red' } : { }; } }); });
Angular
<dx-pie-chart [customizeLabel]="customizeLabel"> <dxi-series> <dxo-label [visible]="true" backgroundColor="blue"> </dxo-label> </dxi-series> </dx-pie-chart>
import { DxPieChartModule } from "devextreme-angular"; // ... export class AppComponent { // All point labels with the value more than 100 turn red // Other point labels remain blue customizeLabel (pointInfo: any) { return pointInfo.value > 100 ? { backgroundColor: 'red' } : { }; } } @NgModule({ imports: [ // ... DxPieChartModule ], // ... })
Vue
<template> <DxPieChart ... :customize-label="customizeLabel"> <DxSeries> <DxLabel :visible="true" background-color="blue" /> </DxSeries> </DxPieChart> </template> <script> import DxPieChart, { DxSeries, DxLabel } from 'devextreme-vue/pie-chart'; export default { components: { DxPieChart, DxSeries, DxLabel }, methods: { // All point labels with the value more than 100 turn red // Other point labels remain blue customizeLabel(pointInfo) { return pointInfo.value > 100 ? { backgroundColor: 'red' } : { }; } } } </script>
React
import React from 'react'; import PieChart, { Series, Label } from 'devextreme-react/pie-chart'; class App extends React.Component { render() { return ( <PieChart ... customizeLabel={customizeLabel}> <Series> <Label visible={true} backgroundColor="blue" /> </Series> </PieChart> ); } } // All point labels with the value more than 100 turn red // Other point labels remain blue function customizeLabel(pointInfo) { return pointInfo.value > 100 ? { backgroundColor: 'red' } : { }; }
See Also
If you have technical questions, please create a support ticket in the DevExpress Support Center.