前端vue显示柱状图_vue 中使用vue-echarts-v3编写chart柱状图,动态展示数据-Go语言中文社区...

本文介绍如何在Vue中利用vue-echarts-v3库创建动态柱状图,包括动态更新纵坐标、柱顶显示内容、鼠标悬停提示以及根据查询结果动态展示数据。同时,文章指出在定义图表option时应将其置于computed属性中以实现数据的动态更新。
摘要由CSDN通过智能技术生成

效果如下

需求:

1、纵坐标为数字,并且动态变化

2、柱状图顶部展示内容

3、鼠标移动到柱状图展示内容

4、图表要根据查询结果动态展示

开始:

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+'nn'+"打开数:"+params.value;

return res;

}

}

},

emphasis : {

label : {

show : true,

textStyle : {

color : 'orange',

fontWeight : 'bold'

}

}

}

}

}]

}

},

},

components: {//使用的外部组件都需要在此填写

IEcharts

}

}

说明:

1、首先要在IEcharts标签内定义高度和宽度,否则不会显示,只在父标签上定义高度和宽度也不行

2、option属性对应的变量bar必须写在computed中,不能写在data中,个人测试写在data中无法动态改变数据表现在图表中

问题:如图中所示,不晓得怎么会出现两个分段,还在解决中

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue-Echarts多列柱状图使用Vue框架和Echarts图表库来实现的一种图表类型。它可以显示多个列的柱状图,每个列代表不同的数据系列。在Vue-Echarts,可以通过高度封装的方式来使用Echarts的折线图和柱状图功能。引用的混入文件可以帮助实现窗口改变时,使Echarts图表自适应。 对于多列柱状图,每一列的数据可以通过series的配置来设置。在3D柱状图数据分为底部切片、间柱子和顶部切片三个部分。可以通过配置不同的系列来表示不同的数据列。 具体实现多列柱状图的步骤如下: 1. 使用Vue-Echarts库来创建一个Vue组件,并引入相关依赖。 2. 在Vue组件使用Echarts的option配置对象来设置图表的样式、数据和系列。 3. 在option的series属性,通过配置不同的系列来表示多个数据列。 4. 按照需求配置其他的Echarts选项,如x轴、y轴、图例等。 5. 在Vue组件渲染并显示Echarts图表。 通过以上步骤,可以实现一个Vue-Echarts多列柱状图。在图表,每一列代表一个数据系列,可以展示多个数据的对比情况。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [vue-echarts-element-stylus:高度封装的elemnet表格组件,高度封装echarts,excel表格上传,excel表格下载](https://download.csdn.net/download/weixin_42133452/18559339)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [vue2.x-echarts公共组件封装--简易篇(3d柱状图,炫酷仪表盘,折线,曲线图)](https://blog.csdn.net/vscode_js/article/details/125913485)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值