Donut Chart
Donut chart shows data as proportional segments of a disc and has a hollowed out center. Donut charts can be segmented by either multiple measures or an attribute, and allow viewers to visualize component parts of a whole.
Structure
import '@gooddata/react-components/styles/css/main.css';
import { DonutChart } from '@gooddata/react-components';
<DonutChart
projectId={<workspace-id>}
measures={<measures>}
config={<chart-config>}
sdk={<sdk>}
…
/>
Example
import '@gooddata/react-components/styles/css/main.css';
import { DonutChart } from '@gooddata/react-components';
const measures = [
{
measure: {
localIdentifier: 'franchiseFeesAdRoyaltyIdentifier',
definition: {
measureDefinition: {
item: {
identifier: franchiseFeesAdRoyaltyIdentifier
}
}
},
format: '#,##0'
}
},
{
measure: {
localIdentifier: 'franchiseFeesInitialFranchiseFeeIdentifier',
definition: {
measureDefinition: {
item: {
identifier: franchiseFeesInitialFranchiseFeeIdentifier
}
}
},
format: '#,##0'
}
},
{
measure: {
localIdentifier: 'franchiseFeesIdentifierOngoingRoyalty',
definition: {
measureDefinition: {
item: {
identifier: franchiseFeesIdentifierOngoingRoyalty
}
}
},
format: '#,##0'
}
}
];
<div style={{ height: 300 }}>
<DonutChart
projectId={workspaceId}
measures={measures}
/>
</div>
Properties
Name | Required? | Type | Description |
---|---|---|---|
projectId | true | string | The workspace ID |
measures | true | Measure[] | An array of measure definitions |
viewBy | false | Attribute | An attribute definition |
filters | false | Filter[] | An array of filter definitions |
config | false | ChartConfig | The chart configuration object |
locale | false | string | The localization of the chart. Defaults to en-US . For other languages, see the full list of available localizations. |
drillableItems | false | DrillableItem[] | An array of points and attribute values to be drillable. |
sdk | false | SDK | A configuration object where you can define a custom domain and other API options |
ErrorComponent | false | Component | A component to be rendered if this component is in error state. See ErrorComponent. |
LoadingComponent | false | Component | A component to be rendered if this component is in loading state. See LoadingComponent. |
onError | false | Function | A callback when component updates its error state |
onLoadingChanged | false | Function | A callback when component updates its loading state |
The following example shows the supported config
structure with sample values. To see descriptions of individual options, see ChartConfig section.
{
colors: ['rgb(195, 49, 73)', 'rgb(168, 194, 86)'],
colorPalette: [{
guid: '01',
fill: {
r: 195,
g: 49,
b: 73
}
}, {
guid: '02',
fill: {
r: 168,
g: 194,
b: 86
}
}],
colorMapping: [{
predicate: (headerItem) => {
return headerItem.measureHeaderItem && (headerItem.measureHeaderItem.localIdentifier === 'm1_localIdentifier')
},
color: {
type: 'guid',
value: '02'
}
}],
legend: {
enabled: true,
position: 'top',
},
dataLabels: {
visible: 'auto'
},
separators: {
thousand: ',',
decimal: '.'
}
}