效果图

安装组件:
npm install @ant-design/charts or
cnpm install @ant-design/charts
使用组件
import { Column } from @ant-design/charts ;
const dataList = {
data: [
{
type: 家具家电 ,
sales: 38,
},
{
type: 粮油副食 ,
sales: 600,
},
],
data1: [
{
type: 家具家电 ,
sales: 38,
},
{
type: 粮油副食 ,
sales: 52,
},
{
type: 生鲜水果 ,
sales: 61,
},
{
type: 美容洗护 ,
sales: 145,
},
],
data2: [
{
type: 家具家电 ,
sales: 38,
},
{
type: 粮油副食 ,
sales: 52,
},
{
type: 生鲜水果 ,
sales: 61,
},
{
type: 美容洗护 ,
sales: 145,
},
]
}
const charlesConfig = (data: any) => {
var config = {
data: data,
xField: type ,
yField: sales ,
loading: false,
columnWidthRatio: 0.7,
label: {
layout: [
{ type: interval-adjust-position },// 数据标签自动调整位置
{ type: interval-hide-overlap }, // 数据标签防遮挡
{ type: adjust-color }, // 数据标签文颜色自动调整
],
},
meta: {
type: { alias: 类别 },
sales: { alias: 销售额 },
},
};
return config
}
// 点击图表,只有点击在图表实际位置data才会有数据
const onReadyColumn = (plot: any) => {
plot.on( plot:click , (...args: any) => {
const data = args[0].data?.data
console.log(data);
});
};
<ProCard title="流程图表" bordered={false} size="small">
<Row justify="space-around">
<Col span="7">
<Column {...charlesConfig(dataList.data)} />
</Col>
<Col span="7">
<Column {...charlesConfig(dataList.data1)} />
</Col>
<Col span="7">
// 在onReady 中绑定事件
<Column {...charlesConfig(dataList.data2)} onReady={onReadyColumn}/>
</Col>
</Row>
</ProCard>
点击位置影响是data是否有数据,柱状图之外的位置是拿不到data数据的

-
点击蓝色区域之外的位置data=null

-
点击蓝色区域柱状图data是有数据的

阅读更多
Ant Design Charts文档
antvG2 文档!
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...

