中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue+antv實現雷達圖的示例代碼怎么編寫

發布時間:2021-12-07 14:55:09 來源:億速云 閱讀:355 作者:柒染 欄目:開發技術

這篇文章給大家介紹vue+antv實現雷達圖的示例代碼怎么編寫,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

一、下載依賴

npm install @antv/data-set

npm install @antv/g2

二、代碼實現

<template>
  <div ref="container" />
</template>
 
<script>
import DataSet from '@antv/data-set'
import { Chart } from '@antv/g2'
export default {
// 創建雷達圖
  mounted() {
    this.constradar()
  },
  methods: {
    constradar() {
      const data = [
        { item: '工作效率', a: 70, b: 30 },
        { item: '考勤', a: 60, b: 70 },
        { item: '積極性', a: 50, b: 60 },
        { item: '幫助同事', a: 40, b: 50 },
        { item: '自主學習', a: 60, b: 70 },
        { item: '正確率', a: 70, b: 50 }
      ]
      const { DataView } = DataSet
      const dv = new DataView().source(data)
      dv.transform({
        type: 'fold',
        fields: ['a', 'b'], // 展開字段集
        key: 'user', // key字段
        value: 'score' // value字段
      })
 
      const chart = new Chart({
        container: this.$refs.container,
        autoFit: true,
        height: 500
      })
      chart.data(dv.rows)
      chart.scale('score', {
        min: 0,
        max: 80
      })
      chart.coordinate('polar', {
        radius: 0.8
      })
      chart.tooltip({
        shared: true,
        showCrosshairs: true,
        crosshairs: {
          line: {
            style: {
              lineDash: [4, 4],
              stroke: '#333'
            }
          }
        }
      })
      chart.axis('item', {
        line: null,
        tickLine: null,
        grid: {
          line: {
            style: {
              lineDash: null
            }
          }
        }
      })
      chart.axis('score', {
        line: null,
        tickLine: null,
        grid: {
          line: {
            type: 'line',
            style: {
              lineDash: null
            }
          }
        }
      })
 
      chart.line().position('item*score').color('user').size(2)
      chart
        .point()
        .position('item*score')
        .color('user')
        .shape('circle')
        .size(4)
        .style({
          stroke: '#fff',
          lineWidth: 1,
          fillOpacity: 1
        })
      chart.area().position('item*score').color('user')
      chart.render()
 
//修改數據
      const newData = [
        { item: '工作效率', a: 20, b: 30 },
        { item: '考勤', a: 30, b: 70 },
        { item: '積極性', a: 10, b: 60 },
        { item: '幫助同事', a: 40, b: 50 },
        { item: '自主學習', a: 60, b: 70 },
        { item: '正確率', a: 20, b: 50 }
      ]
      // 立刻更新
      setTimeout(() => {
        // 處理數據開始
        const dv = new DataView().source(newData)
        dv.transform({
          type: 'fold',
          fields: ['a', 'b'], // 展開字段集
          key: 'user', // key字段
          value: 'score' // value字段
        })
        // 處理結束
 
        // 正式使用處理之后的數據進行圖標更新
        chart.changeData(dv.rows)
      }, 3000)
    }
  }
}
</script>
 
<style></style>

三、實現效果

數據修改前

vue+antv實現雷達圖的示例代碼怎么編寫  

數據修改后

 vue+antv實現雷達圖的示例代碼怎么編寫

關于vue+antv實現雷達圖的示例代碼怎么編寫就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

托里县| 正宁县| 漳平市| 镇沅| 孟津县| 文山县| 时尚| 织金县| 长顺县| 通山县| 舒城县| 若羌县| 雷山县| 江源县| 宝兴县| 克山县| 祁阳县| 明星| 武宁县| 同心县| 南靖县| 子长县| 开鲁县| 江西省| 自贡市| 新疆| 凭祥市| 迭部县| 大厂| 太白县| 屯门区| 石渠县| 郴州市| 新沂市| 巴林左旗| 弥渡县| 吉隆县| 即墨市| 兴城市| 云林县| 大方县|