您好,登錄后才能下訂單哦!
這篇文章主要介紹“Vue+ Antv F2怎么實現層疊柱狀圖”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Vue+ Antv F2怎么實現層疊柱狀圖”文章能幫助大家解決問題。
<canvas id="caseChart" ></canvas>
methods:{ //獲取專利案件Chart圖標信息 getCaseChartData(){ var _this = this; var params = { dataType:_this.caseDataType, beginDate:'', endDate:_this.endDate } _this.$http.get('/api/patent/StatisticsPatentChartAmount',{params:params}) .then(res =>{ if(res.status == 200){ for(var i = 0; i < res.data.length; i++){ if(res.data[i].dataType == "monthPatent"){res.data[i].dataType = '新立案'} else if(res.data[i].dataType == "applyPatent"){res.data[i].dataType = '新申請'} else if(res.data[i].dataType == "PCTPatent"){res.data[i].dataType = 'PCT國際'} else if(res.data[i].dataType == "otherPatent"){res.data[i].dataType = '其他案件'} else {} res.data[i].date = res.data[i].date+"-01" + " 00:00:00" } _this.caseData = res.data; _this.$options.methods.caseChart.bind(this)(); }else{ } }) .catch(error =>{ }) }, caseChart(){ var _this = this; //創建 Chart 對象 _this.casechart = new this.$F2.Chart({ id: 'caseChart', pixelRatio: window.devicePixelRatio, //指定分辨率 }); //source 載入數據 _this.casechart.source(JSON.parse(JSON.stringify(this.caseData)), { date: { //x軸 type: 'timeCat', tickCount: 6, // range: [ 0.1, 0.9 ], mask:'YY-MM', }, // amount: { // } }); _this.casechart.tooltip({ custom: true, // 自定義 tooltip 內容框 onChange: function onChange(obj) { const legend = _this.casechart.get('legendController').legends.top[0]; const tooltipItems = obj.items; const legendItems = legend.items; const map = {}; legendItems.forEach(function(item) { map[item.name] = item; }); tooltipItems.forEach(function(item) { const name = item.name; const value = item.value; if (map[name]) { map[name].value = value; } }); // legend.setItems(_.values(map)); }, onHide: function onHide() { const legend = _this.casechart.get('legendController').legends.top[0]; legend.setItems(_this.casechart.getLegendItems().country); } }); var barWidth = 16 * (window.innerWidth / 375); //創建圖形語法,繪制圖,由 date 和 amount 兩個屬性決定圖形位置,date 映射至 x 軸,amount 映射至 y 軸 _this.casechart.interval() .position('date*amount') .color('dataType') .adjust('stack') .size(barWidth) //渲染圖表 _this.casechart.render(); } }, mounted() { var v = this; this.$nextTick(() => { v.caseChart(); }); },
關于“Vue+ Antv F2怎么實現層疊柱狀圖”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。