vue 中使用vue-echarts-v3编写chart柱状图,动态展示数据
来源:互联网 发布:sql 两个字段不相等 编辑:程序博客网 时间:2024/05/16 17:40
效果如下
需求:
1、纵坐标为数字,并且动态变化
2、柱状图顶部展示内容
3、鼠标移动到柱状图展示内容
4、图表要根据查询结果动态展示
开始:
<!-- 邮件推送图标分析 --><template> <div> <IEcharts :option="bar" style="width:800px;height:500px;" :loading="loading" @ready="onReady" @click="onClick"></IEcharts> </div></template><script> import IEcharts from 'vue-echarts-v3'; export default { data () { return { loading: false, maxy:200,//纵坐标 xdata:[0,0]//柱体横坐标 } }, watch:{ }, methods: {
getCount(timestr,sender,checked){ this.$http.post(this.getUrl()+"/email/getCount.do", {timestr : timestr,sender:sender,checked:checked},{emulateJSON:true}).then( (data)=>{ this.maxy = data.body.totalnum; //从后台获取总数,并设置纵坐标 this.xdata = [data.body.valopennum,data.body.opennum];// 并设置横坐标数据 },(error)=>{ console.log("错误"); } ) }, onReady(instance){ console.log(instance); }, onClick(event, instance, echarts){ // let gg = event;dataIndex let emailstate = ""; if(event.dataIndex==0){//点击了第一个柱体 //逻辑判断 }else{////点击了第二个柱体 //逻辑判断
} }, Percentage(num, total) { //求百分数,两位小数 let rate = Math.round(num / total * 10000) / 100.00 + "%"; if(rate=="NaN%"){ return "0.00%"; }else{ return rate; } } }, mounted () { }, computed:{ bar:function(){//个人测试得知不能把bar写在data内,因为无法动态改变数据,不知道是不是自己哪里没有设置好 return{ title: {//图表标题 text: '统计分析' }, color:['rgb(25, 183, 207)'], tooltip: { trigger : 'item', show:true, showDelay: 0, hideDelay: 0, transitionDuration:0, backgroundColor : 'rgba(25, 183, 207,1)', borderColor : '#f50', borderRadius : 8, borderWidth: 2, padding: 10, // [5, 10, 15, 20] formatter:(params,ticket,callback)=> {//可以从params中拿到柱体的数据return "点击查看"; } }, xAxis: { data: ['当天打开数/打开率', '总打开数/打开率'] }, calculable :true, yAxis: [ { max:this.maxy,//动态改变纵坐标总数splitNumber:1,//分割成1段 type : 'value', data :[0] } ], series: [{ name: 'series_name', type: 'bar', data: this.xdata, itemStyle:{ normal:{ label : { show : true, position : 'top' , //柱体定不显示内容top,right,left formatter:(params,ticket,callback)=>{ let percent = this.Percentage(params.value,this.maxy); var res = "打开率:"+percent+'\n\n'+"打开数:"+params.value; return res; } } }, emphasis : { label : { show : true, textStyle : { color : 'orange', fontWeight : 'bold' } } } } }] }}, }, components: {//使用的外部组件都需要在此填写 IEcharts } }</script><style></style>
说明:
1、首先要在IEcharts标签内定义高度和宽度,否则不会显示,只在父标签上定义高度和宽度也不行
2、option属性对应的变量bar必须写在computed中,不能写在data中,个人测试写在data中无法动态改变数据表现在图表中
问题:如图中所示,不晓得怎么会出现两个分段,还在解决中
阅读全文
0 0
- vue 中使用vue-echarts-v3编写chart柱状图,动态展示数据
- vue项目中使用echarts
- Vue.js中,使用echarts
- Vue系列——在vue项目中使用echarts
- Vue系列——在vue项目中使用echarts
- 在Vue-cli项目中使用echarts
- vue项目中使用echarts图表
- vue 中 echarts 的简单使用
- vue使用echarts
- 基于vue、vuex、vue-router、echarts搭建的数据展示平台
- 在Vue项目中使用Echarts(五): Echarts绘制地图
- Vue使用echarts数据动态更新,Y轴刻度固定或者自适应
- Vue+Echarts
- Highcharts柱状图动态数据展示
- vue中属性动态绑定数据方法
- vue中使用vue-router
- Vue中如何使用vue-resource获取端口数据
- ECharts 柱状图动态获取json数据
- 每天五分钟linux(1)-ls
- 使用Promise封装简单Ajax方法
- poj2892,线段树单点更新,区间合并
- CSS页面布局技巧(三)
- iOS7 UIWebView设置支持加载HTTPS请求
- vue 中使用vue-echarts-v3编写chart柱状图,动态展示数据
- MySQL HA
- SVN 项目 无法运行第一步工作
- Thread.Sleep(0)的意义
- 动态生成验证码
- leetcode-122
- 在Eclipse下使用Maven开发Spring Boot应用
- Android openGL ES2.0 Matrix.frustumM和Matrix.setLookAtM解析
- windows 下搭建 solr 5.3