DevExtreme for React 上的圆环图标签
Donut chart labels on DevExtreme for React
我正在尝试使用 DevExtreme 为 React 生成甜甜圈图,但由于缺乏从其他框架改编代码源的文档。我可以用道具接收到的数据创建图形,但我很难为它们生成标签。
目前我只能将我的论点用作图例,如下所示:
donut chart with legend
而且我需要它像显示在标签中一样,例如:
donut chart with labels
我正在使用库 DevExtreme React Wrappers ansy 组件 Donut 是这样的:
import React from 'react';
import PieChart, {Series, Label, Legend, Tooltip} from 'devextreme-react/ui/pie-chart';
class Donut extends React.Component {
render(){
return (
<PieChart
type={"doughnut"}
palette={"Soft Pastel"}
dataSource={this.props.dataSource}
>
<Legend
visible={true} // should be false because I don't want legends, but currently I need them
horizontalAlignment={"left"}
verticalAlignment={"bottom"}
margin={0}
/>
<Series
argumentField={'arg'}
/>
<Tooltip
enabled={true}
shared={true}
/>
<Label //I've tried so many variations adapted from JQuery or Angular documentation, but nothing seems to work.
visible={true}
format={'fixedPoint'}
argumentField={'arg'}
/>
</PieChart>
);
}
}
export default Donut;
任何帮助将不胜感激。 :)
Label 是 Series 的一部分,因此 Label 标签应该放在 Series 中。系列argumentField
应该设置为'region'
(根据demo)
这是关于Chart的配置,可惜18.1.5-alpha.10版本对Label组件有回归。所以我会向您推荐以下内容:
1) 将 "devextreme-react"
降级为 "18.1.5-alpha.9"
并跟踪 the issue
2) 修改代码为:
var data = [{
region: "Asia",
val: 4119626293
}, {
region: "Africa",
val: 1012956064
}, {
region: "Northern America",
val: 344124520
}, {
region: "Latin America and the Caribbean",
val: 590946440
}, {
region: "Europe",
val: 727082222
}, {
region: "Oceania",
val: 35104756
}];
class Donut extends React.Component {
render() {
return (
<PieChart
type={"doughnut"}
palette={"Soft Pastel"}
dataSource={data}
>
<Legend
visible={true} // should be false because I don't want legends, but currently I need them
horizontalAlignment={"left"}
verticalAlignment={"bottom"}
margin={0}
/>
<Series
argumentField={'region'}
>
<Label
visible={true}
format={'fixedPoint'}
connector={{ visible: true }}
/>
</Series>
<Tooltip
enabled={true}
shared={true}
/>
</PieChart>
);
}
}
我正在尝试使用 DevExtreme 为 React 生成甜甜圈图,但由于缺乏从其他框架改编代码源的文档。我可以用道具接收到的数据创建图形,但我很难为它们生成标签。
目前我只能将我的论点用作图例,如下所示: donut chart with legend
而且我需要它像显示在标签中一样,例如: donut chart with labels
我正在使用库 DevExtreme React Wrappers ansy 组件 Donut 是这样的:
import React from 'react';
import PieChart, {Series, Label, Legend, Tooltip} from 'devextreme-react/ui/pie-chart';
class Donut extends React.Component {
render(){
return (
<PieChart
type={"doughnut"}
palette={"Soft Pastel"}
dataSource={this.props.dataSource}
>
<Legend
visible={true} // should be false because I don't want legends, but currently I need them
horizontalAlignment={"left"}
verticalAlignment={"bottom"}
margin={0}
/>
<Series
argumentField={'arg'}
/>
<Tooltip
enabled={true}
shared={true}
/>
<Label //I've tried so many variations adapted from JQuery or Angular documentation, but nothing seems to work.
visible={true}
format={'fixedPoint'}
argumentField={'arg'}
/>
</PieChart>
);
}
}
export default Donut;
任何帮助将不胜感激。 :)
Label 是 Series 的一部分,因此 Label 标签应该放在 Series 中。系列argumentField
应该设置为'region'
(根据demo)
这是关于Chart的配置,可惜18.1.5-alpha.10版本对Label组件有回归。所以我会向您推荐以下内容:
1) 将 "devextreme-react"
降级为 "18.1.5-alpha.9"
并跟踪 the issue
2) 修改代码为:
var data = [{
region: "Asia",
val: 4119626293
}, {
region: "Africa",
val: 1012956064
}, {
region: "Northern America",
val: 344124520
}, {
region: "Latin America and the Caribbean",
val: 590946440
}, {
region: "Europe",
val: 727082222
}, {
region: "Oceania",
val: 35104756
}];
class Donut extends React.Component {
render() {
return (
<PieChart
type={"doughnut"}
palette={"Soft Pastel"}
dataSource={data}
>
<Legend
visible={true} // should be false because I don't want legends, but currently I need them
horizontalAlignment={"left"}
verticalAlignment={"bottom"}
margin={0}
/>
<Series
argumentField={'region'}
>
<Label
visible={true}
format={'fixedPoint'}
connector={{ visible: true }}
/>
</Series>
<Tooltip
enabled={true}
shared={true}
/>
</PieChart>
);
}
}