superset是一个轻量级自助式BI框架,以优雅的界面和根据数据表动态生成数据为主要特点。
echarts是百度开源的一款生成图表的前端框架,配置灵活,又支持百度地图,同样也是数据可视化方面的一柄利器。
如想了解更多请看他们官网,↓。
superset官网:http://airbnb.io/projects/superset/
superset github:https://github.com/apache/incubator-superset
echarts官网:http://echarts.baidu.com/
三步引入echarts,下面进入正题:
superset的js引用都由npm来管理,了解过npm的朋友就会知道,去/superset/assets目录下的package.json中修改依赖,来控制引用了什么js框架。
1、那么打开package.json,看到了json格式的配置信息,往下面找...
找到一项名为"dependencies"键值对,dependencies?直接翻译,就是“依赖”的意思。如下图:
dependencies里面都是依赖项,不得不说,superset的依赖项实在是太多了。
在末尾加上一句"echarts": "3.8.5"。这个符号的意思是,echarts的版本要3.8.5以上的。
2、打开命令行,进入到/superset/static/assets目录。
先说两句题外话,很多朋友也许和我当初有同样的疑惑,static目录下为什么还有一个assets目录?因为在superset/assets目录下管理的依赖会在static静态目录下生成一个项目所需的依赖的文件,以供项目使用(个人理解,没有根据)。我们进入到这个目录的目的就是编译一下js依赖,保持版本的正确。
我的命令行的最左侧有个(venv)代表虚拟环境,用来安装项目所需的框架的虚拟目录,详情可以百度virtualenv。
接着刚才的说,运行 npm run dev-fast。回车执行,会发现CLI中出现了一堆看不懂的命令,虽然我也看不懂,但是知道它大概是在编译什么东西,暂时不要在意这些细节。
3、经过前面两步,我们就可以在html页面中引用echarts.js了,就这样集成成功了。
superset几乎所有的页面都是在basic.html页面基础上添加的,我们可以将echarts.js放到basic.html的<head>中,这样其他的页面也就一样可以引用了。
比如这样:↓
简单总结两句:superset中用到了很多原来不会的知识(有的现在也是一知半解),可以看到一些比较新鲜的东西,比如npm,echarts,flask-appbuilder等等,这仅是冰山一角,希望能慢慢消化这些知识。