背景
项目中使用了Superset作为统计图表的实现工具,关于Superset的安装和基本使用网上有很多文章说明,这里主要说一下Dashboard的使用。
由于普通的chart定义好之后,可以通过iframe的方式在自己的项目页面中进入展示,但当一个页面引入较多的iframe时,是比较慢的,测试发现一个iframe 加载的资源有2.2M大小。
当一个页面需要展现多个chart时,就可以通过DashBoard来实现。
配置
方式1
新建一个DashBoard,选择需要放入的charts
其中Charts是多选框,内容为Charts功能中配置的单个图表。
方式2
打开一个现有的Chart,点击Save按钮
这样可以将chart添加到一个现有的dashboard中,或者创建一个新的dashboard。
使用
要在自己的项目页面中展示dashboard页面,可以通过iframe引入
<html>
<head>
<title>dashboard</title>
</head>
<body>
<div class="dashboard">
<iframe src="http://127.0.0.1:9088/superset/dashboard/test/"></iframe>
</div>
</body>
</html>
直接这样引入有两个问题,一是顶部有superset的操作菜单,二是需要登陆才能打开
对于问题1,添加一个style即可,办法是使用margin-top: -150px;使页面偏移从而隐藏顶部区域
<style type="text/css">
.dashboard {
width: 100%;
margin: 0 auto;
}
.dashboard iframe {
width: 100%;
height: 900px;
border: 0;
scrolling: "no";
margin-top: -150px;
}
</style>
对于问题2,需要在Security–List Roles中对Public角色添加一个can dashboard on Superset权限即可
刷新iframe就不需要登陆了,顶部的菜单也隐藏了