【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 // ...
随机推荐
- redhat安装python3.7
下载并解压: 1 wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz 2 tar -xzvf Python-3.7.2.tgz ...
- EF Core 原理从源码出发(二)
紧接着我的上一篇博客,上回分析到ef 一个重要的对象,changetracker这个对象,当我们向DbContext添加对象的时候我们会调用如下代码. 1 private EntityEntry< ...
- HDU_3359 Kind of a Blur 【浮点型高斯消元+BFS】
一.题目 Kind of a Blur 二.分析 题目读起来挺费劲的. 主要就是要求一个矩阵,其中每个点及其于这个的曼哈顿距离小于D的点的值总和的平均值就是新生成的矩阵. 给定新生成的矩阵,求初始矩阵 ...
- solr简明教程
文章目录 安装 启动 创建core 配置core索引MySQL数据 3.2.1 3.2.2 3.2.3 测试定时更新 五.配置中文分词 SolrJ 操作索引的增.删.查 七.通过SolrJ对MySQL ...
- Net Core 重要的技术点
Net Core 重要的技术点 1.中间件概念 Asp.Net Core作为控制台应用程序启动,在Program的Main方法是入口,通过调用CreateWebHostBuilder创建WebHost ...
- 设计模式——从工厂方法模式到 IOC/DI思想
回顾简单工厂 回顾:从接口的角度去理解简单工厂模式 前面说到了简单工厂的本质是选择实现,说白了是由一个专门的类去负责生产我们所需要的对象,从而将对象的创建从代码中剥离出来,实现松耦合.我们来看一个例子 ...
- vue实现拖拽排序
基于vue实现列表拖拽排序的效果 在日常开发中,特别是管理端,经常会遇到要实现拖拽排序的效果:这里提供一种简单的实现方案. 此例子基于vuecli3 首先,我们先了解一下js原生拖动事件: 在拖动目标 ...
- Alluxio+HDFS+MapReduce集成及测试
目录 1.在 HDFS 上配置 Alluxio 1.1.节点角色 1.2.软件版本 1.3.准备工作 1.3.1.设置 SSH 免密登录 1.3.2.安装 JDK 1.3.3.安装 Hadoop 1. ...
- 学习笔记-vue+quill简单的后台demo
功能比较单一 https://github.com/opceclee/vue-quill
- 【Java并发】1. Java线程内存模型JMM及volatile相关知识
Java招聘知识合集:https://www.cnblogs.com/spzmmd/tag/Java招聘知识合集/ 该系列用于汇集Java招聘需要的知识点 JMM 并发编程的三大特性:可见性(vola ...