echarts动态刷新数据
在这次的项目中图表显示的部分比较多,这边给分享下用到的图表的数据刷新

饼图最后的效果
先看下
前端部分
<div div style="height: 40%; width: 17.5%; background-color: white;
margin-top: 20px; float: left; border-left: black;" id="member"> </div>
这是右边图的 echarts的html 一定要定义好大小
接下来是 js部分 先定义一个模板 官网有 自己稍加修改 (比较懒没加注释)
// 绘制会员量比例图表
var memberChart = echarts.init(document.getElementById('member'));
memberChart.setOption({
tooltip: {
trigger: 'item',
formatter: "{a} <br/>{b}: {c} ({d}%)"
},
legend: {
itemHeight: 10,
itemWidth: 10,
orient: 'vertical',
x: 'center',
y: 'bottom',
icon: 'roundRect',
formatter: function(name) {
var index = 0;
var clientlabels = ['新增会员','老会员'];
var clientcounts = [621,32032];
clientlabels.forEach(function(value,i){
if(value == name){
index = i;
}
});
return name + " " + clientcounts[index];
}
},
series: [
{
name:'男女比例',
type:'pie',
radius: ['45%', '53%'],
avoidLabelOverlap: false,
hoverAnimation: false,
data:[
{value:621, name:'新增会员'},
{value:32032, name:'老会员'},
],
itemStyle: {
normal:{
label:{
position : 'outside',
formatter: '{d}%',
fontSize: 10,
},
labelLine :{
length: 2,
length2: 2,
show:false,
}
} }
}
],
color:['#0090FF','#F6A20C'],
title: {
subtext: '会员总人数',
text: '32653',
x: 'center',
y: 'center',
padding: 0,
itemGap: 0,
textStyle:{
fontSize: 20,
},
subtextStyle:{
fontSize: 10,
},
},
graphic: {
type: 'text',
style:{
x: 15,
y: 15,
font: 'bolder 1.2em "PingFang-SC-Medium", sans-serif',
text:'今日新增会员比例',
},
},
});
因为 主副标题被我拿去显示不同数据了 所有用上了
graphic
原生图形元素组件
接下来 看下 动态刷新数据的js
function reflushMember(data) {
memberChart.setOption({
legend: {
formatter: function(name) {
var index = 0;
var clientlabels = ['新增会员','老会员'];
var clientcounts = [data.newMemberCount, data.oldMemberCount];
clientlabels.forEach(function(value,i){
if(value == name){
index = i;
}
});
return name + " " + clientcounts[index];
}
},
series: [
{
data:[
{value:data.newMemberCount, name:'新增会员'},
{value:data.oldMemberCount, name:'老会员'},
],
}],
title: {
text:data.memberCount,
}
})
}
主要就是把之前模板上的数据部分替换成 后台获取到的数据
饼图的刷新就到这里
还有个横向柱状图 其实都是差不多的 但是还是也看下吧
先看效果

这是4个横向柱状图 适应不同的搜索条件 就看下 月度top5的吧
<p id="monthTitle" style="position:absolute;margin-left: 18%;margin-top: 1.4%;
font: bolder 1.2em PingFang-SC-Medium sans-serif;"></p>
<div style="height: 100%;width: 100%;position:absolute;" id="monthArea"></div>
P标签是那个 标题
// 绘制月度热力商圈图表
var monthAreaChart = echarts.init(document.getElementById('monthArea'));
monthAreaChart.setOption({
dataset: {
source: [
/* [58212, '小郡干串串'],
[78254, '钢管厂'],
[41032, '耐克'],
[12755, '金大福'],
[20145, '肯德基'],*/
]
},
/*grid: {containLabel: true},*/
xAxis: {name: '(人)',
show:true,
splitLine: {
show: false
}},
yAxis: {type: 'category',
axisLine:{show:false}, //坐标轴
axisTick:[{ //坐标轴小标记
show:false
}],
},
grid:{
height:'70%',
y2:20,
left:'15%',
},
series: [
{ textStyle:{
fontSize:10,
},
type: 'bar',
encode: {
// Map the "amount" column to X axis.
x: 'amount',
// Map the "product" column to Y axis
y: 'product'
},
/*barWidth: 10,*/
barGap:'70%',/*多个并排柱子设置柱子之间的间距*/
barCategoryGap:'50%',/*多个并排柱子设置柱子之间的间距*/
itemStyle: {
normal: {
color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [{
offset: 0,
color: '#438CFF'
}, {
offset: 1,
color: '#20C0F4'
}]),
label: {
show: true, //开启显示
position: 'right', //在上方显示
textStyle: { //数值样式
color: 'black',
fontSize: 10
}
},
}
},
}
],
graphic: {
type: 'text',
style:{
x: 15,
y: 15,
font: 'bolder 1.2em "PingFang-SC-Medium", sans-serif',
text:'月度TOP5',
},
},
上面是 横向柱状图 模板例子
var listTop5Result = result.listTop5Result;
for(var i = listTop5Result.length - 1; i >= 0; i--){
names.push(listTop5Result[i].deptName); //挨个取出类别并填入类别数组
}
for(var i = listTop5Result.length - 1; i >= 0; i--){
nums.push(listTop5Result[i].num); //挨个取出人次并填入销量数组
}
myChart.hideLoading(); //隐藏加载动画
myChart.setOption({ //加载数据图表
yAxis: {
data: names
},
series: [{
data: nums
}]
});
上面是 动态获取 并要刷新的数据 和饼图不同的是 柱状图传进去的要是数组
以上就是我要分享的内容了
感谢
如果有什么错误 请多多指教!
2019-11-12 19:52:21
echarts动态刷新数据的更多相关文章
- echarts异步数据加载(在下拉框选择事件中异步更新数据)
接触echarts 大半年了,从不会到熟练也做过不少的图表,隔了一段时间没使用这玩意,好多东西真心容易忘了.在接触echarts这期间也没有总结什么东西,今天我就来总结一下如何在echart中异步加载 ...
- ECharts – 大数据时代,重新定义数据图表
ECharts 基于 Canvas 的纯 Javascript 图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表.创新的拖拽重计算.数据视图.值域漫游等特性大大增强了用户体验,赋予了用户对 ...
- JTable动态刷新数据
http://www.cnblogs.com/fnlingnzb-learner/p/6025408.html 注意下面几个方法的应用场景,不限于JTable,其他swing组件一样 ———————— ...
- 百度地图标注及结合ECharts图谱数据可视化
本示例中根据企业位置经纬度,在页面右侧百度地图中标注企业名称.同时页面左侧ECharts图谱饼状图用于统计企业行业与注册资本.当右侧百度地图缩放拖拽,左侧ECharts图谱根据右侧地图上出现的企业动态 ...
- Echarts 学习系列(3)-Echarts动态数据交互
写在前面 上一小节,我们总结了折线(面积)图.柱状(条形)图.饼(圆环)图类型的图表. 但是,都是静态的.接下来的,这一小节,总结的是Echarts 动态数据的交换. 前置条件 开发环境:win10 ...
- 基于vue和echarts的数据可视化实现
基于vue和echarts的数据可视化: https://github.com/MengFangui/awesome-vue.git
- 【教程】高德地图使用ECharts实现数据可视化
关于百度地图结合ECharts实现数据可视化的资料已经很多了,毕竟是官方提供支持的,这里就不再赘述.今天我们来讲一下让高德地图与ECharts结合来实现数据可视化图表的展示. 一.ECharts 高德 ...
- 在vue.js中使用echarts,数据动态刷新
在vue使用echarts时,可能会遇到这样的问题,就是直接刷新浏览器,或者数据变化时,echarts不更新? 这是因为Echarts是数据驱动的,这意味着只要我们重新设置数据,那么图表就会随之重新渲 ...
- 通过百度echarts实现数据图表展示功能
现在我们在工作中,在开发中都会或多或少的用到图表统计数据显示给用户.通过图表可以很直观的,直接的将数据呈现出来.这里我就介绍说一下利用百度开源的echarts图表技术实现的具体功能. 1.对于不太理解 ...
随机推荐
- CSDN VIP如何添加引流自定义栏目
几个月前我也开始在csdn上开了博客,一来给自己加几个少的可怜的流量,再者,让公众号的原创文章获得更多的曝光,让有需要的同学看到. 写过csdn博客的同学都知道,默认只有打赏c币功能:也没有专门广告位 ...
- 清除SQL Server Management Studio的最近服务器列表
C:\Users\dell\AppData\Roaming\Microsoft\SQL Server Management Studio\12.0\SqlStudio.bin
- Mysql存储引擎以及锁机制
一.常用命令 1.查看引擎(默认为InnoDB) 查看mysql提供的存储引擎:show engienes 查看mysql当前默认的存储引擎:show variables like '%storage ...
- LeetCode_20-Valid Parentheses
给定一个字符串,其中包含字符’(’,’)’,’[’,’]’,’{‘,’}’,左括号必须匹配右括号,一对匹配的括号不能单独出现单个左括号或者右括号.如:(()[])有效,[(])无效空字符串也算是有效的 ...
- Mac部署hadoop3(伪分布式)
环境信息 操作系统:macOS Mojave 10.14.6 JDK:1.8.0_211 (安装位置:/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jd ...
- opencv::Brisk检测与匹配
Brisk(Binary Robust Invariant Scalable Keypoints)特征介绍 构建尺度空间 特征点检测 FAST9-16寻找特征点 特征点定位 关键点描述子
- opencv::像素重映射
像素重映射(cv::remap) 简单点说就是把输入图像中各个像素按照一定的规则映射到另外一张图像的对应位置上去,形成一张新的图像. Remap( InputArray src, // 输入图像 Ou ...
- CSAPP: 位操作实现基本运算
目录 实验要求 实现代码 1.pow2plus1 2.pow2plus4 3.bitXor 4.tmin 5.isTmax 6.allOddBits 7.negate 8.isAsciiDigit 9 ...
- python编程系列---args与kwargs详解
args与kwargs详解 """ Process([group [, target [, name [, args [, kwargs]]]]]) - target:目 ...
- url中常见符号说明
如:http://10.1.1.71:9999/auditcenter/api/v1/auditPlanList?pageSize=20&page=1 ?:分隔实际的url和参数 & ...