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.对于不太理解 ...
随机推荐
- C#中winform中panel重叠无法显示问题
C#中winform中panel重叠无法显示问题: 最近开发一个项目有个需求是需要多个模式来回切换的,本来考虑使用多个窗口来实现这个功能,但是这样做浪费资源,而且工作量大,所以想到使用panel控件来 ...
- TensorFlow2.0(六):Dataset
.caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...
- BT面板安装php报错configure: error: C preprocessor “/lib/cpp” fails sanity check
使用宝塔面板安装扩展时已经显示添加安装成功了,待我刷新浏览器之后没有安装成功.看了一下执行日志. 缺少必要的C++库,如下命令重装解决. yum reinstall glibc-headers gcc ...
- Vue入门教程 第一篇 (概念及初始化)
注:为了本教程的准确性,部分描述引用了官网及网络内容. 安装Vue 1.使用npm安装vue: npm install vue 2.下载使用js文件: https://vuejs.org/js/vue ...
- js中try、catch、finally的执行规则
首先一个常识就是,在浏览器执行JS脚本过程中,当出现脚本错误,并且你没有手动进行异常捕捉时,他会在浏览器下面出现黄色的叹号,这是正常的,这也不是最重要的,最重要的是,出错行以下的所有JS代码将中停执行 ...
- 告诉你如何回答"线上CPU100%排查"面试问题
不知道在大家面试中,有没有遇到这个问题: 生产服务器上部署了几个java程序,突然出现了CPU100%的异常告警,你如何定位出问题呢? 这个问题分为两版回答!高调版对不起,我是做研发的,这个问题在生产 ...
- 使用jmeter进行压力测试入门讲解
1.下载安装jmeter 略 我这里放上5.1版本的,有需要可以下载 链接:https://pan.baidu.com/s/1xRZZmTY4do1oDU_xPit94Q&shfl=share ...
- PowUp渗透脚本基本模块
PowUp脚本也位于PowerSploit下Privesc模块下 通常,在 Windows 下面我们可以通过内核漏洞来提升权限,但是,我们常常会碰到所处服务器通过内核漏洞提权是行不通的,这个时候,我们 ...
- MySQL 插入记录时自动更新时间戳
将字段设置成timestamp类型,同时默认值设置成 CURRENT_TIMESTAMP.
- webpack——简单入门
1.介绍 Webpack 是当下最热门的前端资源模块化管理和打包工具.它可以将许多松散的模块按照依赖和规则打包成符合生产环境部署的前端资源.还可以将按需加载的模块进行代码分隔,等到实际需要的时候再异步 ...