Echarts中常用的參數(shù)總結(jié)及參數(shù)自定義示例代碼
前言
本文主要講解使用Echarts時setOption里面的屬性以及常見的問題,參數(shù)都是本人項目里的具體參數(shù)。設(shè)置內(nèi)容都是在 setOption({ })
中。
折線圖
圖示:
1.title
title:設(shè)置圖標(biāo)標(biāo)題
- text:標(biāo)題名稱
- left:標(biāo)題定位方向
- top、left:定位
- textStyle:標(biāo)題樣式
- color:標(biāo)題顏色
title: { text: '答辯評分趨勢', left: 'left', top: 20, left: 20, textStyle: { color: '#679CF6' } }
2.tooltip
tooltip:提示框
- trigger:觸發(fā)類型(axis:鼠標(biāo)觸摸到軸觸發(fā),item:鼠標(biāo)觸摸到折線點(diǎn)觸發(fā))
- showDelay:添加延遲時間,避免來回切換(單位ms)
- axisPointer:坐標(biāo)軸指示器,坐標(biāo)軸觸發(fā)有效
- type:line/shadow(默認(rèn)line,設(shè)置shadow時鼠標(biāo)放上去有陰影)
- shadowStyle:當(dāng)設(shè)置值為shadow時
tooltip: { trigger: 'axis', // 顯示延遲,添加顯示延遲可以避免頻繁切換,單位ms showDelay: 200, // 坐標(biāo)軸指示器,坐標(biāo)軸觸發(fā)有效 axisPointer: { // 默認(rèn)為直線,可選為:'line' | 'shadow' type: 'show', shadowStyle: { shadowBlur: 1, opacity: 0.3 } }, },
3.grid
grid:圖表距離容器的位置
grid: { left: '4%', right: '4%', bottom: '4%', top: '30%', containLabel: true },
- containLabel 為 false 的時候:
grid.left grid.right grid.top grid.bottom grid.width grid.height 決定的是由坐標(biāo)軸形成的矩形的尺寸和位置。- containLabel 為 true 的時候:
grid.left grid.right grid.top grid.bottom grid.width grid.height 決定的是包括了坐標(biāo)軸標(biāo)簽在內(nèi)的所有內(nèi)容所形成的矩形的位置。- 這常用于『防止標(biāo)簽溢出』的場景,標(biāo)簽溢出指的是,標(biāo)簽長度動態(tài)變化時,可能會溢出容器或者覆蓋其他組件
4.legend
legend:圖例
- data:圖例的具體文字
- textStyle:圖例的文字
- icon:圖例的形狀 (包括:circle,rect ,roundRect,triangle,diamond,pin,arrow,none)
legend: { data: ['xx', 'xx', 'xx', 'xx'], right: '33%', top: '10%', textStyle: { fontSize: 12, color: '#666' }, icon: "circle", itemWidth: 10, // 設(shè)置寬度 itemHeight: 10, // 設(shè)置高度 itemGap: 40 // 設(shè)置間距 },
5.xAxis
xAxis :x軸設(shè)置
- name:單位
- splitLine:網(wǎng)格線
- show:false (去除網(wǎng)格線)
- data:x軸坐標(biāo)顯示的數(shù)據(jù),數(shù)組類型
- axisLine:設(shè)置x軸的軸線
- show:true(設(shè)置顯示)
- lineStyle:設(shè)置軸線的樣式
- color:顏色
- width:寬度
- type:線條類型
- axisLabel:設(shè)置x軸文字樣式
- textStyle:文字樣式,對象類型
- show:是否展示
- fontSize:字體大小
- color:文字顏色
- formatter:自定義文字,后面跟一個函數(shù),默認(rèn)會一個參數(shù),x坐標(biāo)的值
xAxis: { type: "value", // x軸的名字,可以理解成單位 name: "單位(K)", nameTextStyle: { // x軸的名字的樣式相關(guān) color: "#BFBFBF", nameLocation: "start", }, splitLine: { //去除網(wǎng)格線 show: false, }, //去除網(wǎng)格區(qū)域,否則會有一片區(qū)域 splitArea: { show: false }, data: [0, 5000, 10000, 15000, 20000, 25000, 30000, 35000], axisLine: { // 把x軸從實線變成虛線 show: true, lineStyle: { // 設(shè)置x軸線條樣式的顏色 color: "#BDBDBD", width: 1, type: "solid", }, }, axisLabel: { formatter: function (value) { return value >= 5000 ? parseInt(value / 1000) + "K" : value; }, scale: true, // 設(shè)置數(shù)據(jù)自動縮放 } },
6.yAxis
- yAxis:與x軸基本同理
7.series
series:圖標(biāo)系列,對象類型
- type:line(圖標(biāo)類型為線性圖標(biāo))
- smooth:true(設(shè)置折線為光滑)
- name:圖標(biāo)名稱
- areaStyle:圖標(biāo)區(qū)域的樣式(本文中的圖標(biāo)設(shè)置的為漸進(jìn)色)
- data:圖標(biāo)的數(shù)據(jù)
- markLine:基線
- symbol:none(去掉基線的箭頭)
- lable:基線的文字設(shè)置
- position:基線文字位置(start,middle,end)
- show:是否顯示基線文字
- formatter:基線文字內(nèi)容
- data:設(shè)置基線(Array類型)
- silent:鼠標(biāo)懸停(true/false)
- lineStyle:基線線條設(shè)置,對象類型
- type:solid(基線線條類型)
- color:基線線條顏色
- yAxis:y軸基線的值
series: [ { data: this.trendLineData.map(item => item.defenceScore), type: 'line', smooth: true, name: "答辯評分", areaStyle: { normal: { opacity: 0.3, color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [{ offset: 0, color: '#679CF6' }, { offset: 1, color: '#fff' }]) } }, // 基線設(shè)置 markLine: { symbol: "none", data: [{ silent: false, lineStyle: { type: "solid", color: "#E34949", }, yAxis: 3.5 }, { silent: false, lineStyle: { type: "solid", color: "#3BC9A9", }, yAxis: 4 } ] } }, ],
附:常見問題
1、自定義X軸文字(文字替換)
axisLabel: { formatter: function (value) { return value >= 5000 ? parseInt(value / 1000) + "K" : value; }, scale: true, // 設(shè)置數(shù)據(jù)自動縮放,要不然數(shù)據(jù)多的話就堆一塊了 }
2、自定義X軸文字(文字換行)
其中this.trendLineData
為后端數(shù)據(jù),其實就是將x軸的類目項文字可以動態(tài)換行
formatter: (value) => { if (this.trendLineData.length > 2) { //拼接加\n返回的類目項 var ret = ""; //每項顯示文字個數(shù) var maxLength = 12; //X軸類目項的文字個數(shù) var valLength = value.length; //類目項需要換行的行數(shù) var rowN = Math.ceil(valLength / maxLength); if (rowN > 1) { for (var i = 0; i < rowN; i++) { //每次截取的字符串 var temp = ""; //開始截取的位置 var start = i * maxLength; //結(jié)束截取的位置 var end = start + maxLength; //這里也可以加一個是否是最后一行的判斷 temp = value.substring(start, end) + "\n"; //拼接最終的字符串 ret += temp; } return ret; } else { return value; } } else { return value; } }
3、自定義tooltip
tooltip: { trigger: 'axis', // 顯示延遲,添加顯示延遲可以避免頻繁切換,單位ms showDelay: 200, // 坐標(biāo)軸指示器,坐標(biāo)軸觸發(fā)有效 axisPointer: { // 默認(rèn)為直線,可選為:'line' | 'shadow' type: 'shadow', shadowStyle: { shadowBlur: 1, opacity: 0.3 } }, formatter: function (data) { var res = "<div style='display:flex;'>"; res += "<div class='left' >" res += '答辯數(shù)' + '</br>' data.forEach(item => { item.value = item.value ? item.value : 0; if (item.seriesType == 'bar') { res += item.marker + item.seriesName + '答辯數(shù)' + ':' + item.value + '</br>'; } }); res += " </div>" res += "<div class='right' style='margin-left:20px'>" res += '分?jǐn)?shù)' + '</br>' data.forEach(item => { item.value = item.value ? item.value : 0; if (item.seriesType == 'line') { res += item.marker + item.seriesName + (item.seriesName == '總體' ? '平均分' : '分?jǐn)?shù)') + ':' + item.value + '</br>'; } }); res += " </div>" res += " </div>" return res } },
結(jié)果如圖所示:
總結(jié)
到此這篇關(guān)于Echarts中常用的參數(shù)總結(jié)及參數(shù)自定義的文章就介紹到這了,更多相關(guān)Echarts常用參數(shù)及參數(shù)自定義內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
js數(shù)字滑動時鐘的簡單實現(xiàn)(示例講解)
下面小編就為大家?guī)硪黄猨s數(shù)字滑動時鐘的簡單實現(xiàn)(示例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08Javascript新手入門之字符串拼接與變量的應(yīng)用
這篇文章主要給大家介紹了關(guān)于Javascript新手入門之字符串拼接與變量應(yīng)用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12詳解js對象中屬性的兩種類型之?dāng)?shù)據(jù)屬性和訪問器屬性
在理解vue底層響應(yīng)式原理時,了解到,原來對象中的屬性,不單單從表面看起來那么簡單是key:value形式,而是還有隱藏的內(nèi)部特性,其中對象內(nèi)的屬性分為兩種類型的屬性:數(shù)據(jù)屬性和訪問器屬性,本文將給大家詳細(xì)介紹一下數(shù)據(jù)屬性和訪問器屬性,需要的朋友可以參考下2023-05-05