使用V-chart時踩過的一些坑

因為工作需要,使用v-chart也有一段時間了,期間針對配置圖表也遇到了不少問題,在這里總結一下。

如何配置圖表信息

echart的配置項可謂是相當?shù)暮A?,能不看就不看。而v-chart對其進行了不少的簡化,所以我們想要自定義一個圖表時,最好按照以下步驟來檢查:

圖表私有屬性

v-chart每一個圖表都有自己獨有的設置項,想要配置這些項需要在組件上加入 :setting="chartSettings",然后在vue組建的data里設置chartSettings的值,如下:

<template>
  <ve-line :data="chartData" :settings="chartSettings"></ve-line>
</template>

<script>
  export default {
    data () {
      this.chartSettings = {
        xAxisType: 'time'
      }
      return {
        chartData: {
          columns: ['日期', '訪問用戶'],
          rows: [
            { '日期': '2018-01-01', '訪問用戶': 1393 },
            { '日期': '2018-01-02', '訪問用戶': 3530 },
            { '日期': '2018-01-03', '訪問用戶': 2923 }
          ]
        }
      }
    }
  }
</script>

圖表公有屬性

v-chart所有圖表組件中共有的屬性,直接在圖標組件上掛載:屬性名稱="屬性值"即可設置,下面是一些比較常用的

名稱 類型 默認值 介紹
data Object 圖表的顯示數(shù)據(jù)
setting Object 圖表的私有屬性
height String 400px 高度
width String auto 寬度,默認根據(jù)高度自動適配
tooltip-visible boolean true 是否顯示提示框
legend-visible boolean true 是否顯示圖例
extend Object 設置echart的詳細屬性

公共屬性上最重要的可以說就是extend屬性了,在vchart的公共屬性里extend居然不在基本屬性了,而是放在文檔后面專門開了一段講。當時為了找到這個屬性可以說是廢了老半天功夫。如果你在前兩者中都沒有找到想要的設置項,那就可以通過這個屬性來設置echart的配置,畢竟是基于echart的嘛,所以echart的所有配置在這里都可以適用,下邊是配置示例:

<template>
  <ve-histogram :data="chartData" :extend="chartExtend"></ve-histogram>
</template>

<script>
  export default {
    data () {
      this.chartExtend = {
          series: {
            barWidth: 10
          },
          tooltip: {
            trigger: 'none'
          }
        }
      /* 等同于
        this.chartExtend = {
          series (v) {
            v.forEach(i => {
              i.barWidth = 10
            })
            return v
          },
          tooltip (v) {
            v.trigger = 'none'
            return v
          }
        }
        等同于
        this.chartExtend = {
          'series.0.barWidth': 10,
          'series.1.barWidth': 10,
          'tooltip.trigger': 'none'
        }
      */
      return {
        chartData: { ... }
      }
    }
  }
</script>

Echart配置項

接下來就是重頭戲了,如果你在前兩者里都沒有找到,那就只能從echart的配置項里找了,下面是一些目前比較常用的配置項

名稱 類型 介紹
legend Object 用于控制圖表的圖例組件,包括位置、樣式、類型、圖標等
series Object 每個圖表的專屬設置項,用于控制圖表的詳細樣式位置等

其中series的屬性就可以完成絕大多數(shù)配置了,下邊是一個配置示例 實現(xiàn)的效果為:

  • 圖例位于圖表右方,且距右邊緣20px
  • 圖例顏色#A0A0A0,字體12px
  • 環(huán)圖中心相對于左上角距離112px, s92px
  • 隱藏環(huán)圖上的文本標簽和引導線
  • 環(huán)圖內半徑55px與外半徑72px
//template
<ve-ring :settings="chartSetting" legend-position="right" :extend="chartExtend"></ve-ring>

...

//script
data () {
  return {
    chartExtend: {
      series: {
        center: [112, 92]
      },
      legend: {
        right: 20,
        textStyle: {
          color: '#A0A0A0',
          fontSize: 12
        }
      }
    }
    chartSetting: {
      label: {
        show: false
      },
      labelLine: {
        show: false
      },
      radius: [55, 72]
    }
  }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 一,v-charts簡介 在使用 echarts 生成圖表時,經常需要做繁瑣的數(shù)據(jù)類型轉化、修改復雜的配置項,v-...
    美人宋閱讀 59,332評論 0 14
  • This chapter covers the basic setup for using this librar...
    ngugg閱讀 1,162評論 0 1
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,563評論 19 139
  • ◆★◆季世山,字鐵鋼。1956年生于吉林,1978年考入魯迅藝術學院。職業(yè)油畫家,吉林美術家協(xié)會會員,北京市延慶縣...
    c018d19e6e79閱讀 698評論 0 0
  • 小洋子已經工作了三個年頭,一直在從事教育培訓工作。 因為跟孩子接觸的多,因為自己在教育孩子上也不夠專業(yè),所以在20...
    章魚小洋子閱讀 509評論 2 10

友情鏈接更多精彩內容