Superset二次开发--添加新图例

superset安装和环境配置网上都有现成的例子,此处就不赘述了。不过还是顺便说下我是git clone的源码安装的。发布的版本是0.28.1 。运行系统为linux,Windows的话有一些坑,github或者别的博客都有说解决方法,我这里也不赘述了。

在二次开发部分,网上并没有太多新的内容。最简单来说,添加新的图。网上给的例子,在当前版本的superset中都已经不支持了,连项目目录结构都变了,根本不能用,除非退回到之前的版本。但是我想大家都不会想用老版本的。就连github上给的例子都是旧的。我在github上提出过希望他们发一个新的教程出来,不过开发者说他们正在开发这样的插件,反正也没更新例子。

废话到此为止,开始。

前置条件

为superset配置echarts。

在superset\superset\assets\packages.json中的“dependencies”中添加"echarts": "^4.2.0-rc.2"。版本号就用自己的echarts版本号。

然后打开命令行终端,在这个assets下执行

$ npm install -d
$ npm run dev

添加一个echarts图例

这里我直接给出添加一个图例需要哪些文件。后面会解释如何修改这些文件。

supserset/viz.py #修改
superset/assets/src/visualizations #添加
superset/static/assets/src/visualizations/presets/LegacyChartPreset.js #修改
\superset\assets\src\explore\controlPanels #添加
superset/assets/src/explore/controlPanels/index.js #修改
\superset\assets\src\explore\controls.jsx #可选项

这里举个非常简单易懂的栗子:添加一个echarts的散点图。 

一、修改viz.py文件

我们先来看一下最终效果页面:

viz.py 这个文件起到一个类似于视图的功能,从前端接受请求后进行一系列处理。我们可以看到,一个图例就是一个类。经过分析已有的这些类,发现这些类大部分是继承了BaseViz这个基类,并且主要重写了query_objget_data这两个方法。其中query_obj,顾名思义,是用来构造查询条件的。而查询条件来源于页面左侧的组件,这些组件的信息存储在form_data的一个字典中,query_obj方法中将会处理

  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 33
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值