DataGear 制作联动异步加载图表的数据可视化看板

Stella981
• 阅读 510

通过DataGear的参数化数据集、图表事件处理和看板API功能,可以很方便地制作联动异步加载图表的数据可视化看板。

首先,新建一个参数化SQL数据集,如下所示:

SELECT
  COL_NAME,   --地区名
  COL_VALUE,  --地区指标数值
FROM
  T_ANALYSIS
WHERE
<#if 上级地区名??>
  COL_PARENT='${上级地区名}'
<#else>
  COL_PARENT='中国'
</#if>

参数:

名称        类型     必填
上级地区名  字符串   否

T_ANALYSIS表数据示例:

COL_NAME     COL_VALUE   COL_PARENT
山东         160         中国
北京         200         中国
...
朝阳区       195         北京
海淀区       200         北京
...
青岛市       10          山东
济南市       160         山东

然后,使用上述数据集,新建两个图表,第一个是展示全国指标的地图图表:

图表类型:基本地图
数据集列标记:
COL_NAME:地区名称 (name)
COL_VALUE:指标数值 (value)

第二个是展示指定地区指标的柱状图:

图表类型:基本柱状图
数据集列标记:
COL_NAME:名称 (name) 
COL_VALUE:数值 (value) 

然后,新建可视化看板,填写如下看板模板内容:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
.dg-chart{
  display: inline-block;
  width: 600px;
  height: 500px;
}
#loadChartWrapper{
  position:absolute;
  top:0;
  left:650px;
  width:400px;
  height:300px;
  box-shadow: 0px 0px 6px #474747;
  -webkit-box-shadow: 0px 0px 6px #474747;
  display:none;
}
#loadChart{
  position:absolute;
  top:2em;
  left:0;
  right:0;
  bottom:0;
}
</style>
<script type="text/javascript">
function chartClickHandler(chartEvent)
{
  //获取点击的地区名
  var name = chartEvent.data.name;
  $("#chartTitle").html(name);
  
  var $chart = $("#loadChart");
  
  //图表已加载,直接刷新数据
  if(chartFactory.isChartElement($chart))
  {
    var chart = dashboard.getChart("loadChart");
    chart.dataSetParamValue(0, 0, name);
    chart.refreshData();
    $("#loadChartWrapper").show();
  }
  //图表未加载
  else
  {
    dashboard.loadChart($("#loadChart"), "[第二个图表ID]",function(chart)
    {
      chart.dataSetParamValue(0, 0, name);
      $("#loadChartWrapper").show();
    });
  }
}
$(function()
{
  $("#removeChartBtn").click(function()
  {
    dashboard.removeChart("loadChart");
    $("#loadChartWrapper").hide();
  });
});
</script>
</head>
<body class="dg-dashboard">
<div style="position: absolute;left:1;top:1;font-size:12px;">
    DataGear <br>
    http://www.datagear.tech
</div>
<div style="font-size:2em;text-align:center;margin-bottom:5px;">DataGear 看板示例</div>
<p> </p>
<div style="position:relative;">
  <div class="dg-chart" dg-chart-on-click="chartClickHandler"
    dg-chart-disable-setting="true"
    dg-chart-widget="[第一个图表ID]">
    <!--全国指标--></div>
  
  <div id="loadChartWrapper">
    <div id="chartTitle" style="position:absolute;top:2px;left:4px;font-weight:bold;"></div>
    <button id="removeChartBtn" style="position:absolute;top:2px;right:2px;">X</button>
    <div id="loadChart" dg-chart-disable-setting="true"
      dg-chart-options="{title:{show:false},legend:{show:false},grid:{top:30}}">
    <!--待加载的图表元素--></div>
  </div>
</div>
</body>
</html>

点击[保存并展示]按钮,打开看板展示页面,完成!!!

注意,上述模板中的“[第一个图表ID]”、“[第二个图表ID]”要替换为实际的ID。

效果图如下所示:

DataGear 制作联动异步加载图表的数据可视化看板

官网地址:http://www.datagear.tech

源码地址:

Gitee:https://gitee.com/datagear/datagear

Github:https://github.com/datageartech/datagear

大屏模板地址:https://gitee.com/datagear/DataGearDashboardTemplate

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
DataGear 制作支持全国、省、市三级数据钻取效果的地图数据可视化看板
通过DataGear(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fdatagear.tech%2F)的参数化数据集、图表联动和看板API功能,可以很方便地制作支持数据钻取效果的数据可视化看板。首先,以上级地区名为参数,新建一个参数化SQL数据集:SELECT
Stella981 Stella981
2年前
DataGear 制作时序数据可视化看板
通过DataGear(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fdatagear.tech%2F)的参数化数据集和看板API功能,可以很方便地制作包含时序图表的看板。首先,以时间为参数,新建一个参数化SQL数据集:SELECTCOL_TIME,
Stella981 Stella981
2年前
DataGear 自定义数据可视化看板的图表主题
DataGear(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fdatagear.tech%2F)看板的dgcharttheme属性,提供了简单且强大的自定义图表主题功能。通常,只需要设置其color、backgroundColor、actualBackgroundColor值即
Stella981 Stella981
2年前
DataGear 2.2.0 发布,数据可视化分析平台
DataGear(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.datagear.tech%2F) 2.2.0 发布,带来诸多新增功能,具体更新内容如下:新增:内置图表新增水球图;新增:看板编辑页面新增搜索功能;新增:图表/看板展示页面新增数据透视
Stella981 Stella981
2年前
DataGear 制作支持表单交互操作和多图表联动的数据可视化看板
对于数据可视化,有时需要根据用户输入的查询条件展示限定范围的数据图表,DataGear(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.datagear.tech)的看板表单功能可以快速方便地实现此类需求。下面的看板示例,包含一个柱状图、一个饼图和一个地图,用户可以通过看板表单
Stella981 Stella981
2年前
DataGear 制作按行滚动的轮播表格数据可视化看板
通过DataGear(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fdatagear.tech%2F)的表格图表轮播设置项(1.13.0版本新增),可以轻松制作按行滚动的轮播表格数据可视化看板。首先,新建表格所需的数据集,以如下CSV数据集为例:name,v
Stella981 Stella981
2年前
DataGear 轻松制作支持图表联动的全国地图、省级地图数据可视化看板
DataGear(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.datagear.tech)看板的图表联动功能,使您可以轻松制作支持图表联动的全国地图、省级地图数据可视化看板。首先,新建两个数据集。第一个是各省指标数据集,将用于绘制全国指标图表,它的SQL语句如下