点我扫二维码,查看demo

# ChartColumn 柱状图

# 介绍

数据可视化组件,可从数据生成柱状图

# 引入

通过以下方式来按需注册组件。

import Vue from 'vue';
import { ChartColumn } from '@dolphin-iot/ui'

Vue.use(ChartColumn);
1
2
3
4

# 代码演示

# 基础用法

设置坐标轴 axis 属性, 几何图形 geometry 属性, 待渲染数据 data 属性。即可渲染出折线图。柱状图使用笛卡尔坐标系,即 x 轴和 y 轴。坐标轴的 use 属性用于配置该坐标轴使用数据项的哪个属性进行渲染。scale 属性用于配置该坐标轴的刻度。具体请参考图表库开发介绍geometry 属性用于配置图形相关的信息。柱状图可以配置柱子的颜色。data 即绘图使用的数据。

<template>
    <div class="container">
        <mx-chart-column :axis="axis" :geometry="geo" :data="data" />
    </div>
</template>
<script>
export default {
  data() {
    return {
        axis:{
            x:{
                use:'time',
                scale:{
                    type: 'timeCat',
                    mask: 'MM/DD',
                    tickCount: 3,
                    range: [ 0, 1 ]
                }
            },
            y:{
                use:'tem',
                scale:{
                    tickCount: 5,
                    min: 0,
                    alias: '日均温度'
                }
            },
        },
        geo:{
            color:'#267AFF',
        },
        data:[
            {
                time: '2016-08-08 00:00:00',
                tem: 10,
                type:'日均温度'
            }, 
            {
                time: '2016-08-08 00:10:00',
                tem: 22,
                type:'日均温度'
            }, 
            {
                time: '2016-08-08 00:30:00',
                tem: 20,
                type:'日均温度'
            }, 
            {
                time: '2016-08-09 00:35:00',
                tem: 26,
                type:'日均温度'
            }, 
            {
                time: '2016-08-09 01:00:00',
                tem: 20,
                type:'日均温度'
            }, 
            {
                time: '2016-08-09 01:20:00',
                tem: 26,
                type:'日均温度'
            }, 
            {
                time: '2016-08-10 01:40:00',
                tem: 28,
                type:'日均温度'
            }, 
            {
                time: '2016-08-10 02:00:00',
                tem: 20,
                type:'日均温度'
            }, 
            {
                time: '2016-08-10 02:20:00',
                tem: 18,
                type:'日均温度'
            }  
        ]
    };
  },
};
</script>
<style lang="scss" scoped>
.container{
  width:100%
  height:300px
}
</style>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89

# 层叠柱状图

通过配置 geometry 属性的 classifyBy 字段,可以将数据渲染成层叠图。此时要求数据中除了 x 轴, y 轴维度外,还需要一个进行图形分类的维度, 即 classifyBy 指定的维度。而且此时 color属性为数组,即描述每一个柱子的颜色。

<template>
    <div class="container">
        <mx-chart-column :axis="axis" :geometry="geo" :data="data"/>
    </div>
</template>
<script>
export default {
  data() {
    return {
        axis:{
            x:{
                use:'time',
                scale:{
                    type: 'timeCat',
                    mask: 'MM/DD',
                    tickCount: 3,
                    range: [ 0, 1 ]
                }
            },
            y:{
                use:'tem',
                scale:{
                    tickCount: 5,
                    min: 0,
                    alias: '日均温度'
                }
            },
        },
        geo:{
            color:['#267AFF','#FFAA10'],
            classifyBy:'type',
        },
        data:[
            {
                time: '2016-08-08 00:00:00',
                tem: 10,
                type:'日均温度'
            }, 
            {
                time: '2016-08-08 00:10:00',
                tem: 22,
                type:'日均温度'
            }, 
            {
                time: '2016-08-08 00:30:00',
                tem: 20,
                type:'日均温度'
            }, 
            {
                time: '2016-08-09 00:35:00',
                tem: 26,
                type:'日均温度'
            }, 
            {
                time: '2016-08-09 01:00:00',
                tem: 20,
                type:'日均温度'
            }, 
            {
                time: '2016-08-09 01:20:00',
                tem: 26,
                type:'日均温度'
            }, 
            {
                time: '2016-08-10 01:40:00',
                tem: 28,
                type:'日均温度'
            }, 
            {
                time: '2016-08-10 02:00:00',
                tem: 20,
                type:'日均温度'
            }, 
            {
                time: '2016-08-10 02:20:00',
                tem: 18,
                type:'日均温度'
            },
            {
                time: '2016-08-08 00:00:00',
                tem: 3,
                type:'日均密度'
            }, 
            {
                time: '2016-08-08 00:10:00',
                tem: 27,
                type:'日均密度'
            }, 
            {
                time: '2016-08-08 00:30:00',
                tem: 15,
                type:'日均密度'
            }, 
            {
                time: '2016-08-09 00:35:00',
                tem: 18,
                type:'日均密度'
            }, 
            {
                time: '2016-08-09 01:00:00',
                tem: 28,
                type:'日均密度'
            }, 
            {
                time: '2016-08-09 01:20:00',
                tem: 22,
                type:'日均密度'
            }, 
            {
                time: '2016-08-10 01:40:00',
                tem: 23,
                type:'日均密度'
            }, 
            {
                time: '2016-08-10 02:00:00',
                tem: 26,
                type:'日均密度'
            }, 
            {
                time: '2016-08-10 02:20:00',
                tem: 19,
                type:'日均密度'
            }  
        ]
    };
  },
};
</script>
<style lang="scss" scoped>
.container{
  width:100%
  height:300px
}
</style>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135

# 水平显示柱状图

在柱状图的基础上,通过配置 show-horizental 属性为 true,即可绘制水平柱状图。

<template>
    <div class="container">
        <mx-chart-column :axis="axis" :geometry="geo" :data="data" :show-horizental="true"/>
    </div>
</template>
<script>
export default {
  data() {
    return {
        axis:{
            x:{
                use:'time',
                scale:{
                    type: 'timeCat',
                    mask: 'MM/DD',
                    tickCount: 3,
                    range: [ 0, 1 ]
                }
            },
            y:{
                use:'tem',
                scale:{
                    tickCount: 5,
                    min: 0,
                    alias: '日均温度'
                }
            },
        },
        geo:{
            color:'#267AFF',
        },
        data:[
            {
                time: '2016-08-08 00:00:00',
                tem: 10,
                type:'日均温度'
            }, 
            {
                time: '2016-08-08 00:10:00',
                tem: 22,
                type:'日均温度'
            }, 
            {
                time: '2016-08-08 00:30:00',
                tem: 20,
                type:'日均温度'
            }, 
            {
                time: '2016-08-09 00:35:00',
                tem: 26,
                type:'日均温度'
            }, 
            {
                time: '2016-08-09 01:00:00',
                tem: 20,
                type:'日均温度'
            }, 
            {
                time: '2016-08-09 01:20:00',
                tem: 26,
                type:'日均温度'
            }, 
            {
                time: '2016-08-10 01:40:00',
                tem: 28,
                type:'日均温度'
            }, 
            {
                time: '2016-08-10 02:00:00',
                tem: 20,
                type:'日均温度'
            }, 
            {
                time: '2016-08-10 02:20:00',
                tem: 18,
                type:'日均温度'
            }  
        ]
    };
  },
};
</script>
<style lang="scss" scoped>
.container{
  width:100%
  height:300px
}
</style>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89

# Api

# Props

参数 说明 类型 默认值 是否必须
axis 坐标轴 object -
geometry 显示的几何图形相关的配置,如颜色等 object -
data 待绘图的数据(通常为一个数组) array -
show-horizental 是否水平显示柱状图 boolean false -
width 宽度 number -
height 高度 number -
更新时间: 12/3/2021, 1:36:49 PM