Hexo驱动博客中使用Echarts动态图表

Echarts介绍

今后要经常做数据分析,总不能一直拿静态图片来充当图表吧。于是想看看有没有什么好的工具。

原来自己是一直在用D3制作交互式图标,流程复杂,效果简单。现在发现了Echarts,感觉发现了新大陆一样。

具体教程去百度的官网(http://echarts.baidu.com/)查看文档,很简单的,这里就不多说了。

echarts官网

下面来简单说一下如何在Hexo驱动的博客中使用echarts图表。

在博客页面中引用js文件

在所用主题目录下layout\_partial中的head.ejs里加入:

1
<script src="http://echarts.baidu.com/dist/echarts.common.min.js"></script>

安装hexo-tag-echarts插件

在博客站点目录下执行npm install hexo-tag-echarts --save

使用范例

对于动态百度图表范例,将其提供的option部分复制,形成下述代码即可。

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
{% echarts 400 '81%' %}
{
tooltip : {
trigger: 'axis',
axisPointer : { // 坐标轴指示器,坐标轴触发有效
type : 'shadow' // 默认为直线,可选为:'line' | 'shadow'
}
},
legend: {
data:['利润', '支出', '收入']
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis : [
{
type : 'value'
}
],
yAxis : [
{
type : 'category',
axisTick : {show: false},
data : ['周一','周二','周三','周四','周五','周六','周日']
}
],
series : [
{
name:'利润',
type:'bar',
itemStyle : {
normal: {
label: {show: true, position: 'inside'}
}
},
data:[200, 170, 240, 244, 200, 220, 210]
},
{
name:'收入',
type:'bar',
stack: '总量',
itemStyle: {
normal: {
label : {show: true}
}
},
data:[320, 302, 341, 374, 390, 450, 420]
},
{
name:'支出',
type:'bar',
stack: '总量',
itemStyle: {normal: {
label : {show: true, position: 'left'}
}},
data:[-120, -132, -101, -134, -190, -230, -210]
}
]
};
{% endecharts %}

其中,参数400指定图表展示的高度为400px,81%则指定图表展示的宽度为81%,如不写明这两项参数则默认值为高度400px,宽度81%。

最终制作的图表效果如文首所示。

参考资料: