excerpt: ECharts 是一个使用 JavaScript 实现的开源可视化库,涵盖各行业图表,满足各种需求,本文介绍如何在 Hexo 博客中使用 ECharts 插件。
hexo-tag-echarts
插件$ npm install hexo-tag-echarts --save
npm install echarts --save
并不适合hexo博客,这种安装方式无效,请安装hexo-tag-echarts
插件。
// 通过jsDelivr的CDN引入echarts
<script src="https://cdn.jsdelivr.net/npm/echarts@4.8.0/dist/echarts.min.js"></script>
// 使用GL里的各种组件时需要添加,否则可不需要
<script src="https://cdn.jsdelivr.net/npm/echarts-gl@1.1.1/dist/echarts-gl.min.js"></script>
<script>
...
</script>
{% echarts 400 '85%' %}
...
{% endecharts %}
<script>
中添加定义的变量和函数,若无设定则可删掉<script></script>
{% echarts 400 '85%' %}
和{% endecharts %}
之间添加echarts的option
。 type
决定自己的图表类型。 <iframe></iframe>
展示效果更佳。关于hexo的html文件渲染问题,可以参考Fluid+自定义html,主要是去掉head
部分的说明。<script src="https://cdn.jsdelivr.net/npm/echarts@4.8.0/dist/echarts.min.js"></script>
<!-- 为 ECharts 准备一个具备大小(宽高)的 DOM -->
<div id="main" style="width: 600px;height:400px;"></div>
<script type="text/javascript">
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
...
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
// 刷新调整
window.onresize = function () {
myChart.resize();
}
</script>
bmap
、jquery
等,请自行添加。FAKE_AK
。<script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=FAKE_AK"></script>
<script type="text/javascript" src="https://api.map.baidu.com/getscript?v=2.0&ak=FAKE_AK"></script>
下面给出一些echarts官方实例,大多数都可以交互。
地理坐标/地图GEO/Map
可进入页面查看
可进入页面查看
可进入页面查看
可进入页面查看
Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了[^2]。
$ pip install pyecharts -U
from pyecharts.charts import Bar
from pyecharts import options as opts
# V1 版本开始支持链式调用
bar = (
Bar()
.add_xaxis(["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"])
.add_yaxis("商家A", [114, 55, 27, 101, 125, 27, 105])
.add_yaxis("商家B", [57, 134, 137, 129, 145, 60, 49])
.set_global_opts(title_opts=opts.TitleOpts(title="某商场销售情况"))
)
bar.render()
# 不习惯链式调用的开发者依旧可以单独调用方法
bar = Bar()
bar.add_xaxis(["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"])
bar.add_yaxis("商家A", [114, 55, 27, 101, 125, 27, 105])
bar.add_yaxis("商家B", [57, 134, 137, 129, 145, 60, 49])
bar.set_global_opts(title_opts=opts.TitleOpts(title="某商场销售情况"))
bar.render()