亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

前端JS也可以連點(diǎn)成線詳解(Vue中運(yùn)用AntVG6)

 更新時(shí)間:2023年01月11日 15:48:10   作者:幾何心涼  
這篇文章主要給大家介紹了關(guān)于前端JS連點(diǎn)成線(Vue中運(yùn)用?AntVG6)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

前言

什么是 G6?G6 是一個(gè)圖可視化引擎。它提供了圖的繪制、布局、分析、交互、動(dòng)畫等圖可視化的基礎(chǔ)能力。旨在讓關(guān)系變得透明,簡(jiǎn)單。讓用戶獲得關(guān)系數(shù)據(jù)的 Insight。其實(shí)說(shuō)白了就是我們前端中的繪圖工具;基于 G6,用戶可以快速搭建自己的 圖分析 或 圖編輯 應(yīng)用。

這里博主也是接到了需求,項(xiàng)目中需要根據(jù)坐標(biāo)畫出標(biāo)志物;這里博主采用的就是我們的 AntG6 技術(shù),下面讓我們先來(lái)通過(guò)一下小的 demo 感受一下 G6 的功能吧!

快速上手

因?yàn)椴┲鲄⑴c的就是 Vue 項(xiàng)目,所以這里呢就以我們的 Vue 項(xiàng)目為例來(lái)進(jìn)行演示;跟其他的組件相同我們第一步就是安裝和引用;安裝命令很簡(jiǎn)單

npm install --save @antv/g6

//安裝成功后在需要使用的文件中進(jìn)行引用
//當(dāng)然如果項(xiàng)目中我們大量頁(yè)面需要用到 G6 也可在 main 文件中引入掛載原型中

import G6 from '@antv/g6';

當(dāng)然除了上面我們通過(guò) npm 去安裝外,也可以通過(guò)CDN的方式去引入;引入方式如下:

// version <= 3.2
<script src="https://gw.alipayobjects.com/os/antv/pkg/_antv.g6-{$version}/build/g6.js"></script>

// version >= 3.3
<script src="https://gw.alipayobjects.com/os/lib/antv/g6/{$version}/dist/g6.min.js"></script>

// version >= 4.0
<script src="https://gw.alipayobjects.com/os/lib/antv/g6/4.3.11/dist/g6.min.js"></script>

我們完成上面的安裝引入后,下面我們就可以完成一個(gè)簡(jiǎn)易版的小圖形了;

其實(shí)很簡(jiǎn)單,有點(diǎn)類似于我們運(yùn)用 Echarts 大概的步驟就是

1、創(chuàng)建一個(gè) DOM 來(lái)渲染圖形;

2、獲取固定格式的數(shù)據(jù),按照我們 G6 所要求的數(shù)據(jù)格式造出數(shù)據(jù);

3、實(shí)例化 DOM 的配置;

4、根據(jù)數(shù)據(jù)渲染圖形;

跟著我來(lái)做一下上面的四個(gè)步驟吧!

創(chuàng)建容器

需要在 HTML 中創(chuàng)建一個(gè)用于容納 G6 繪制的圖的容器,通常為 div 標(biāo)簽。G6 在繪制時(shí)會(huì)在該容器下追加 canvas 標(biāo)簽,然后將圖繪制在其中。

<div id="zssBox"></div>

數(shù)據(jù)準(zhǔn)備

G6 接收的數(shù)據(jù)源為 JSON 格式的對(duì)象。該對(duì)象中需要有節(jié)點(diǎn)(nodes)和邊(edges)字段,分別用數(shù)組表示:

G6Obj: {
        nodes: [
          // 點(diǎn)集
          {
            id: "node1", // String,該節(jié)點(diǎn)存在則必須,節(jié)點(diǎn)的唯一標(biāo)識(shí)
            x: 100, // Number,可選,節(jié)點(diǎn)位置的 x 值
            y: 200, // Number,可選,節(jié)點(diǎn)位置的 y 值
          },
          {
            id: "node2", // String,該節(jié)點(diǎn)存在則必須,節(jié)點(diǎn)的唯一標(biāo)識(shí)
            x: 300, // Number,可選,節(jié)點(diǎn)位置的 x 值
            y: 200, // Number,可選,節(jié)點(diǎn)位置的 y 值
          },
        ],

        edges: [
          // 邊集
          {
            source: "node1", // String,必須,起始點(diǎn) id
            target: "node2", // String,必須,目標(biāo)點(diǎn) id
          },
        ],
      },

注意:

nodes 數(shù)組中包含節(jié)點(diǎn)對(duì)象。每個(gè)節(jié)點(diǎn)對(duì)象中唯一的、必要的 id 以標(biāo)識(shí)不同的節(jié)點(diǎn),x、 y 指定該節(jié)點(diǎn)的位置;edges 數(shù)組中包含邊對(duì)象。source 和 target 是每條邊的必要屬性,分別代表了該邊的起始點(diǎn) id 與 目標(biāo)點(diǎn) id。

當(dāng)然關(guān)于 nodes 和 edges 數(shù)組中各對(duì)象的屬性不僅僅上面羅列的這些;上面這些僅僅是必須項(xiàng)目,等后面會(huì)給大家介紹更多的屬性,下面我們繼續(xù)完成我們的圖形渲染

創(chuàng)建關(guān)系圖

創(chuàng)建關(guān)系圖(實(shí)例化)時(shí),至少需要為圖設(shè)置容器、寬和高。

mounted() {
    const graph = new G6.Graph({
      container: "zssBox", // 必須,這是我們第一步中創(chuàng)建的DOM的id
      width: 800, // Number,必須,圖的寬度
      height: 500, // Number,必須,圖的高度
    });
  },

配置數(shù)據(jù)源,渲染

graph.data(this.G6Obj); //讀取第二步中的數(shù)據(jù)源到圖上
graph.render(); // 渲染圖

代碼寫到這里我們就可以在頁(yè)面中看到我們的效果啦!目前呢我們數(shù)據(jù)中只有兩項(xiàng)。兩個(gè)點(diǎn)一個(gè)線;那么大家可以自己嘗試一下 模擬更多的數(shù)據(jù)比如如何實(shí)現(xiàn)一個(gè)三角形,如何實(shí)現(xiàn)一個(gè)長(zhǎng)方形,相信并不難哈!完整代碼也給大家放到下面

<template>
  <div class="counter vantG6">
    <p>VantG6 演示區(qū)</p>

    <div id="zssBox"></div>
  </div>
</template>

<script>
import G6 from "@antv/g6";
export default {
  name: "vantG6",
  data() {
    return {
      G6Obj: {
        nodes: [
          // 點(diǎn)集
          {
            id: "node1", // String,該節(jié)點(diǎn)存在則必須,節(jié)點(diǎn)的唯一標(biāo)識(shí)
            x: 100, // Number,可選,節(jié)點(diǎn)位置的 x 值
            y: 200, // Number,可選,節(jié)點(diǎn)位置的 y 值
          },
          {
            id: "node2", // String,該節(jié)點(diǎn)存在則必須,節(jié)點(diǎn)的唯一標(biāo)識(shí)
            x: 300, // Number,可選,節(jié)點(diǎn)位置的 x 值
            y: 200, // Number,可選,節(jié)點(diǎn)位置的 y 值
          },
        ],

        edges: [
          // 邊集
          {
            source: "node1", // String,必須,起始點(diǎn) id
            target: "node2", // String,必須,目標(biāo)點(diǎn) id
          },
        ],
      },
    };
  },
  methods: {},
  mounted() {
    const graph = new G6.Graph({
      container: "zssBox", // String | HTMLElement,必須,在 Step 1 中創(chuàng)建的容器 id 或容器本身
      width: 800, // Number,必須,圖的寬度
      height: 500, // Number,必須,圖的高度
    });

    graph.data(this.G6Obj); // 讀取 Step 2 中的數(shù)據(jù)源到圖上
    graph.render(); // 渲染圖
  },
};
</script>

<style>
.vantG6 {
  background-color: rgb(221, 188, 68) !important;
}
.vantG6 p {
  margin: 0 auto;
}
</style>

寫在最后

由于antVG6的內(nèi)容很多,本篇內(nèi)容僅僅為大家介紹了安裝和快速生成一個(gè)頁(yè)面;更多的配置我們放到下篇中為大家講解!

到此這篇關(guān)于前端JS也可以連點(diǎn)成線(Vue中運(yùn)用 AntVG6)的文章就介紹到這了,更多相關(guān)JS連點(diǎn)成線內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 圖解Vue?響應(yīng)式流程及原理

    圖解Vue?響應(yīng)式流程及原理

    這篇文章主要為大家介紹了圖解Vue的響應(yīng)式原理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • vue-cli如何關(guān)閉Uncaught?error的全屏提示

    vue-cli如何關(guān)閉Uncaught?error的全屏提示

    這篇文章主要介紹了vue-cli如何關(guān)閉Uncaught?error的全屏提示問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • vue項(xiàng)目打包部署后默認(rèn)路由不正確的解決方案

    vue項(xiàng)目打包部署后默認(rèn)路由不正確的解決方案

    這篇文章主要介紹了vue項(xiàng)目打包部署后默認(rèn)路由不正確的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue 中 命名視圖的用法實(shí)例詳解

    vue 中 命名視圖的用法實(shí)例詳解

    這篇文章主要介紹了vue 中 命名視圖的用法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2019-08-08
  • vue3-組合式api-provide/inject詳解

    vue3-組合式api-provide/inject詳解

    provide/inject 適用于跨級(jí)通信,在孫組件中通過(guò)依賴注入的方式能獲取到父組件中改變的這個(gè)值,下面通過(guò)實(shí)例代碼介紹vue3-組合式api-provide/inject的相關(guān)知識(shí),需要的朋友可以參考下
    2022-11-11
  • vue cli3.0結(jié)合echarts3.0與地圖的使用方法示例

    vue cli3.0結(jié)合echarts3.0與地圖的使用方法示例

    這篇文章主要給大家介紹了關(guān)于vue cli3.0結(jié)合echarts3.0與地圖的使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • vue中router-view組件的使用詳解

    vue中router-view組件的使用詳解

    這篇文章主要介紹了vue中router-view組件的使用,這個(gè)時(shí)候我們就需要用到路由中的 router-view組件(也叫路由占位符)了,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-10-10
  • vue3?setup語(yǔ)法糖下父組件如何調(diào)用子組件

    vue3?setup語(yǔ)法糖下父組件如何調(diào)用子組件

    這篇文章主要介紹了vue3?setup語(yǔ)法糖下父組件如何調(diào)用子組件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 詳解Vue組件之間通信的七種方式

    詳解Vue組件之間通信的七種方式

    這篇文章主要介紹了Vue組件之間通信的七種方式,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04
  • 徹底搞懂Transition內(nèi)置組件

    徹底搞懂Transition內(nèi)置組件

    這篇文章主要為大家介紹了Transition內(nèi)置組件使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07

最新評(píng)論