【ECharts】报表联动,动态数据设计
说明:
数据没有拉取后台数据,仅仅前端模拟数据,Copy即可有效果。联动后台时,使用异步获取数据即可。鼠标点击,动态展示点击项的数据。有关更多实例,请移步到echarts官网查看。
成果展示:

相关代码:
html中的部分代码
<div class="row">
<div class="col-sm-3" id="row-item"> </div>
<div class="col-sm-9">
<div id="echarts2" style="width:100%;height:350px;"> </div>
<div id="echarts" style="width:100%;height:350px;"> </div>
</div>
</div>
js有关代码
<script type="text/javascript">
function choseItem(column,title){ // 柱状图
var column_yData = [];
var column_title = title+'各公司详细数据';
var column_seriesData =[];
// 饼状图
var pie_title = title+'各公司数据占比';
var pie_seriesData =[]; for(var i = 0 ;i<rows.length;i++){
column_yData.push(rows[i].name);
column_seriesData.push(rows[i][column]);
pie_seriesData.push({name:rows[i].name,value:rows[i][column]});
} var option = {
title : {
text: column_title
},
tooltip : {
trigger: 'axis',
show:true
},
toolbox: {
show : true,
feature : {
mark : {show: true},
dataView : {show: true, readOnly: false},
magicType: {show: true, type: ['line', 'bar']},
restore : {show: true},
saveAsImage : {show: true}
}
},
calculable : true,
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis : [
{
type : 'value',
boundaryGap : [0, 0.01]
}
],
yAxis : [
{
type : 'category',
data : column_yData
}
],
series : [
{
type:'bar',
itemStyle:{
normal:{
label:{
show:true,
position: 'right'
}
}
},
data:column_seriesData
}
]
};
ets.setOption(option); var option2 = {
title : {
text: pie_title ,
},
tooltip : {
show:true,
trigger: 'item',
formatter: "{a} <br/>{b} : {c} ({d}%)"
},
toolbox: {
show : true,
feature : {
mark : {show: true},
dataView : {show: true, readOnly: false},
magicType : {
show: true,
type: ['pie', 'funnel'],
option: {
funnel: {
x: '25%',
width: '50%',
funnelAlign: 'left',
max: 1548
}
}
},
restore : {show: true},
saveAsImage : {show: true}
}
},
calculable : true,
series : [
{
name:'数据占比',
type:'pie',
radius : '45%',
center: ['50%', '50%'],
itemStyle:{
normal:{
label:{
show:true,
},
labelLine:{
length:30
}
}
},
data:pie_seriesData
}
]
};
ets2.setOption(option2);
} var totalRows =[
{title:'病例1',totalNum:1234,name:'num1'},
{title:'病例2',totalNum:1234,name:'num2'},
{title:'病例3',totalNum:1234,name:'num3'},
{title:'病例4',totalNum:1234,name:'num4'},
{title:'病例5',totalNum:1234,name:'num5'},
{title:'病例6',totalNum:1234,name:'num6'},
{title:'病例7',totalNum:1234,name:'num7'},
{title:'病例8',totalNum:1234,name:'num8'},
{title:'病例9',totalNum:1234,name:'num9'},
{title:'病例10',totalNum:1234,name:'num10'},
{title:'病例11',totalNum:1234,name:'num11'},
{title:'病例12',totalNum:1234,name:'num12'},
{title:'病例13',totalNum:1234,name:'num13'},
{title:'病例14',totalNum:1234,name:'num14'}
];
var rows =[
{
name:'公司名字有待南昌的健康还是看到回复1',
num1:16,
num2:17,
num3:19,
num4:123,
num5:459,
num6:123,
num7:23,
num8:123,
num9:123,
num10:123,
num11:123,
num12:123,
num13:123,
num14:123
},
{
name:'公司暗红色的咖啡机哈萨克东方红路2',
num1:'28',
num2:'123',
num3:'123',
num4:'123',
num5:'123',
num6:'123',
num7:'123',
num8:'123',
num9:'123',
num10:'123',
num11:'123',
num12:'123',
num13:123,
num14:123
},
{
name:'公司阿斯顿发生地方就会看见爱上对方3',
num1:99,
num2:123,
num3:123,
num4:123,
num5:123,
num6:123,
num7:123,
num8:123,
num9:23,
num10:12,
num11:123,
num12:123,
num13:123,
num14:123
},
{
name:'公司奥斯卡接电话反馈就爱上的花费4',
num1:45,
num2:123,
num3:123,
num4:123,
num5:123,
num6:123,
num7:123,
num8:123,
num9:23,
num10:123,
num11:12,
num12:123,
num13:123,
num14:123
},
{
name:'公司名字有点长有香肠有点长大厦水电费卡仕达5',
num1:300,
num2:123,
num3:123,
num4:123,
num5:123,
num6:123,
num7:123,
num8:123,
num9:23,
num10:12,
num11:123,
num12:123,
num13:123,
num14:123
},
{
name:'公司熟练度空间发过了圣诞节发了个6',
num1:500,
num2:123,
num3:123,
num4:123,
num5:123,
num6:123,
num7:123,
num8:123,
num9:123,
num10:123,
num11:123,
num12:123,
num13:123
},
{
name:'公司奥会计师电话费咖技术的活雷锋7',
num1:900,
num2:123,
num3:123,
num4:123,
num5:123,
num6:123,
num7:123,
num8:123,
num9:23,
num10:123,
num11:123,
num12:123,
num13:123,
num14:123
},
{
name:'公司空间哈卡收到货付款8',
num1:600,
num2:123,
num3:123,
num4:123,
num5:123,
num6:123,
num7:123,
num8:123,
num9:123,
num10:12,
num11:123,
num12:123,
num13:123,
num14:123
}
]; var rowItemHtml = "";
for(var i = 0;i<totalRows.length;i++){
rowItemHtml += "<div class='col-sm-6' style='border:1px solid black;height:100px;' onclick=choseItem('"+totalRows[i].name+"','"+totalRows[i].title+"')>"+totalRows[i].title+":"+totalRows[i].totalNum+"</div>";
}
$("#row-item").html(rowItemHtml);
// 实例化echarts
var ets = echarts.init(document.getElementById("echarts"));
var ets2 = echarts.init(document.getElementById("echarts2"));
// 设置数值
choseItem(totalRows[0].name,totalRows[0].title); </script>
【ECharts】报表联动,动态数据设计的更多相关文章
- C#+JQuery+.Ashx+百度Echarts实现全国省市地图和饼状图动态数据图形报表的统计
在目前的一个项目中,需要用到报表表现数据,这些数据有多个维度,需要同时表现出来,同时可能会有大量数据呈现的需求,经过几轮挑选,最终选择了百度的echarts作为报表基础类库.echarts功能强大,界 ...
- Echarts基于动态数据初步使用 及问题 代码记录.
ECHARTS 插件 基本的动态数据展示(横向图) 下载 echarts.commn.min.js文件 在页面中进行引用, 并为Echarts图形准备一个div盒子 <!-- 引入插件 --&g ...
- Unity 3D Framework Designing(6)——设计动态数据集合ObservableList
什么是 『动态数据集合』 ?简而言之,就是当集合添加.删除项目或者重置时,能提供一种通知机制,告诉UI动态更新界面.有经验的程序员脑海里迸出的第一个词就是 ObservableCollection.没 ...
- ECharts 环形饼图 动态获取json数据
ECharts 环形饼图 动态获取json数据 效果图如下: 一.html部分 <div id="secondPieChart" style="width:100 ...
- Unity应用架构设计(6)——设计动态数据集合ObservableList
什么是 『动态数据集合』 ?简而言之,就是当集合添加.删除项目或者重置时,能提供一种通知机制,告诉UI动态更新界面.有经验的程序员脑海里迸出的第一个词就是 ObservableCollection.没 ...
- Echarts 学习系列(3)-Echarts动态数据交互
写在前面 上一小节,我们总结了折线(面积)图.柱状(条形)图.饼(圆环)图类型的图表. 但是,都是静态的.接下来的,这一小节,总结的是Echarts 动态数据的交换. 前置条件 开发环境:win10 ...
- Echarts使用及动态加载图表数据
Echarts使用及动态加载图表数据 官网:http://echarts.baidu.com/ 1.文档 2.实例 名词: 1.统计维度(说明数据) 维度就是统计致力于建立一个基于多方位统计(时间.地 ...
- Echarts 展示两条动态数据曲线
利用Echarts 展示两条动态数据曲线,每1秒刷新一下数据,在echart官网例子基础上修改,修改了仿真数据的生成方式.生成数量,曲线数量,最总效果图如下: 详细代码如下: 遇到的主要问题点, 1, ...
- echarts一个页面动态加载两张不同图表数据
参考 http://www.stepday.com/topic/?877 http://blog.csdn.net/for_china2012/article/details/45167161 // ...
随机推荐
- Hznu_0j 1557
题目链接:http://acm.hznu.edu.cn/OJ/problem.php?id=1557 题解:将两个数组分别升序和降序排序后,累加差的绝对值. Ac代码: #include<std ...
- Java并发编程之多线程
线程 进程/线程/协程/管程 进程:操作系统会以进程为单位,分配系统资源(CPU时间片.内存等资源),是资源分配的最小单位 进程间通信(IPC): 管道(Pipe) 命名管道(FIFO) 消息队列(M ...
- 在Ubuntu上安装TensorFlow-GPU开发环境
深度学习是一个比较复杂的体系,今天记录一下开发环境的搭建步骤. 全新安装Ubuntu 20.10,系统默认安装的是python3,查看python的版本: mango@ubuntu:~$ python ...
- Redis 超详细的手动搭建Cluster集群步骤
功能概述 Redis Cluster是Redis的自带的官方分布式解决方案,提供数据分片.高可用功能,在3.0版本正式推出. 使用Redis Cluster能达到负载均衡的问题,内部采用哈希分 ...
- 微信开发者工具导入 wepy 项目“app.json 未找到”报错解决方法
版本信息: 微信开发者工具:1.03.2101150 wepy:2.0 wepy/cli:6.14.8 问题描述 按照 wepy 文档中的步骤新建项目: $ npm install @wepy/cli ...
- Spring Cloud:面向应用层的云架构解决方案
Spring Cloud:面向应用层的云架构解决方案 上期文章我们介绍了混合云,以及在实际操作中我们常见的几种混合云模式.今天我们来聊一聊Spring Cloud如何解决应用层的云架构问题. 对于Sp ...
- Python函数参数和注解是什么
四种参数 Python函数func定义如下: def func(first, *args, second="Hello World", **kwargs): print(first ...
- 【Java并发】1. Java线程内存模型JMM及volatile相关知识
Java招聘知识合集:https://www.cnblogs.com/spzmmd/tag/Java招聘知识合集/ 该系列用于汇集Java招聘需要的知识点 JMM 并发编程的三大特性:可见性(vola ...
- 【剑指offer】9:变态跳台阶
题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 解题思路: 先考虑最简单情况就是只有一级台阶,仅有一种跳法.两级台阶,有两种 ...
- 用递归求出n的全排列
1 include<cstdio> 2 const int maxn = 11; 3 int n,p[maxn], hashTable[maxn] = { false };//hashta ...