最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決Vue + Echarts 使用markLine標(biāo)線(precision精度問題)

 更新時間:2020年07月20日 09:54:11   作者:羅錦天  
這篇文章主要介紹了解決Vue + Echarts 使用markLine標(biāo)線(precision精度問題),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

在VUE實例中使用Echarts

安裝echarts依賴:

npm install echarts -s

編寫代碼:

引入echarts對象:

鑒于準(zhǔn)備工作中已經(jīng)通過npm安裝了echarts依賴,所以可以直接在vue文件中使用代碼import echarts from “echarts”引入echarts對象:

<script>
 import echarts from 'echarts/lib/echarts'
</script>

注意:只引入了echarts還不能直接使用markLine(作為前端菜鳥爬坑了好久?)

引入markLine對象:

<script>
 import echarts from 'echarts/lib/echarts'
 import 'echarts/lib/component/markLine'
</script>

以下是我畫圖的所有echarts依賴:

 import echarts from 'echarts/lib/echarts'
 import 'echarts/lib/chart/candlestick'
 import 'echarts/lib/chart/bar'
 import 'echarts/lib/component/legend'
 import 'echarts/lib/component/title'
 import 'echarts/lib/component/markLine'

markLine終于有用了?

我的代碼:

這是我的markLine配置

let price = [13.9, 14.95, 16];

markLine: {
 symbol: 'none',
 silent: true,
 data: [
 {yAxis: price[0]},
 {yAxis: price[1]},
 {yAxis: price[2]}
 ],
 lineStyle: {
 show: true,
 color: '#808C94',
 type: 'dashed'
 }
}

markLine效果:

然而 Echarts 的 series[i]-bar.markLine.precision 配置項不太厚道

Echarts文檔中的描述:

series[i]-bar.markLine.precision number

[ default: 2 ]

標(biāo)線數(shù)值的精度,在顯示平均值線的時候有用。

根據(jù)上圖展示,并沒有我想要的精度。

——注:13.9應(yīng)該顯示13.90,16應(yīng)該顯示16.00

precision配置默認(rèn)為2

怎么辦?填坑!

仔細(xì)翻看Echarts文檔發(fā)現(xiàn)了一個配置:

series[i]-bar.markLine.label.formatter

里面有個回調(diào)函數(shù),而且與axisLabel.formatter不太一樣

修改配置一:

請確保你的Number.toFixed(2)是滿足要求的

markLine: {
 symbol: 'none',
 silent: true,
 data: [
  {yAxis: price[0]},
  {yAxis: price[1]},
  {yAxis: price[2]}
 ],
 lineStyle: {
  show: true,
  color: '#808C94',
  type: 'dashed'
 },
 // 先讓markLine精確到3,默認(rèn)為2
 precision: 3,
 label: {
  formatter: function(value) {
   // 確保你的Number.toFixed(2)是滿足要求的
  return value.value.toFixed(2);
  }
 }
}

修改配置二:

markLine: {
 symbol: 'none',
 silent: true,
 data: [
  {yAxis: price[0]},
  {yAxis: price[1]},
  {yAxis: price[2]}
 ],
 lineStyle: {
  show: true,
  color: '#808C94',
  type: 'dashed'
 },
 // 先讓markLine精確到3,默認(rèn)為2
 precision: 3,
 label: {
  // 沒有寫通用代碼了,針對性解決一下當(dāng)前問題
  formatter: function(value) {
   // 這里的value 是一個label對象,使用value.value獲取到真正的值
   let strVal = value.value.toString();
   let splitStr = strVal.split('.');
   let tailStr = splitStr[1];
   if (tailStr == null) {
    return value.value.toString() + '.00';
   }
  // 0.995 ~ 0.999 = 1
  if (tailStr >= 995) {
  return (parseInt(splitStr[0]) + 1).toString() + '.00';
  }
   if (tailStr.length >= 3) {
    let lastStr = tailStr.substr(2, 1);
    // 解決toFixed(2)方法四舍五入無效
    if (lastStr >= 5) {
     // 數(shù)值+101有些取巧,但能解決問題...
     tailStr = (parseInt(tailStr.substr(0, 2)) + 101).toString().substr(1, 2);
     return splitStr[0] + '.' + tailStr;
    } else {
     return splitStr[0] + '.' + tailStr.substr(0, 2);
    }
   } else if (tailStr.length === 1) {
    return value.value.toString() + '0';
   } else {
    return value.value.toString();
   }
  }
 }
}

鬼知道Number.toFixed(2)為什么保留兩位小數(shù)時并沒有四舍五入,就寫了段惡心的代碼,個人能力有限?

修改后效果:

以上這篇解決Vue + Echarts 使用markLine標(biāo)線(precision精度問題)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue3從0搭建Vite打包組件庫使用詳解

    Vue3從0搭建Vite打包組件庫使用詳解

    這篇文章主要為大家介紹了Vue3從0搭建Vite打包組件庫使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • Vue Element前端應(yīng)用開發(fā)之獲取后端數(shù)據(jù)

    Vue Element前端應(yīng)用開發(fā)之獲取后端數(shù)據(jù)

    這篇文章主要介紹了Vue Element前端應(yīng)用開發(fā)之獲取后端數(shù)據(jù),對vue感興趣的同學(xué),可以參考下
    2021-05-05
  • Vue Render函數(shù)原理及代碼實例解析

    Vue Render函數(shù)原理及代碼實例解析

    這篇文章主要介紹了Vue Render函數(shù)原理及代碼實例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • vue3中的ref()詳解

    vue3中的ref()詳解

    ref對象可以通過.value屬性進(jìn)行修改,修改后的值也是響應(yīng)式的,并且修改后會觸發(fā)相關(guān)的副作用,這篇文章主要介紹了vue3中的ref(),需要的朋友可以參考下
    2023-05-05
  • vue3使用iframe嵌入ureport2設(shè)計器,解決預(yù)覽時NullPointerException異常問題

    vue3使用iframe嵌入ureport2設(shè)計器,解決預(yù)覽時NullPointerException異常問題

    這篇文章主要介紹了vue3使用iframe嵌入ureport2設(shè)計器,解決預(yù)覽時NullPointerException異常問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue項目引入ts步驟(小結(jié))

    vue項目引入ts步驟(小結(jié))

    這篇文章主要介紹了vue項目引入ts步驟(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • vue2.x中monaco-editor的使用說明

    vue2.x中monaco-editor的使用說明

    這篇文章主要介紹了vue2.x中monaco-editor的使用說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 解決iView中時間控件選擇的時間總是少一天的問題

    解決iView中時間控件選擇的時間總是少一天的問題

    下面小編就為大家分享一篇解決iView中時間控件選擇的時間總是少一天的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • el-select 的下拉框中新增倆自定義按鈕的操作方法

    el-select 的下拉框中新增倆自定義按鈕的操作方法

    文章介紹了在Element UI的el-select組件中新增自定義按鈕的方法,并詳細(xì)說明了設(shè)置`popper-append-to-body`屬性為false的重要性,以及如何通過修改樣式來實現(xiàn)自定義按鈕的添加和樣式效果展示,感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • vue不通過路由直接獲取url中參數(shù)的方法示例

    vue不通過路由直接獲取url中參數(shù)的方法示例

    通過url傳遞參數(shù)是我們在開發(fā)中經(jīng)常用到的一種傳參方法,但通過url傳遞后改如果獲取呢?下面這篇文章主要給大家介紹了關(guān)于vue如何不通過路由直接獲取url中參數(shù)的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-08-08

最新評論

于田县| 马鞍山市| 小金县| 丰镇市| 阜南县| 汤阴县| 五莲县| 潢川县| 偃师市| 旌德县| 永吉县| 巩留县| 平塘县| 仁寿县| 汝阳县| 商都县| 高台县| 留坝县| 武功县| 大足县| 广宁县| 崇礼县| 曲松县| 桃源县| 太谷县| 玉门市| 安义县| 扎鲁特旗| 佛坪县| 鄱阳县| 玉田县| 平武县| 林甸县| 彭州市| 杨浦区| 屏山县| 高邑县| 衢州市| 渝北区| 定兴县| 五大连池市|