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

vue結(jié)合AntV?G2的使用踩坑記錄

 更新時(shí)間:2022年04月28日 10:46:35   作者:我是劉拾貳  
這篇文章主要介紹了vue結(jié)合AntV?G2的使用踩坑記錄,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

vue結(jié)合AntV G2使用踩坑

官網(wǎng)使用import G2 from '@antv/g2';引入但是會(huì)報(bào)一個(gè)

"export 'default' (imported as 'G2') was not found in '@antv/g2'  得錯(cuò)誤

找了半天原因,最終解決辦法

import * as G2 from '@antv/g2'

AntV-G2語法總結(jié)

目的

使用antv-g2完成一個(gè)圖表,該圖表有兩種結(jié)構(gòu)組成,散點(diǎn)圖與矩形圖組成。我們需要將散點(diǎn)圖與矩形圖分別在兩個(gè)view中繪制,所以還需要總結(jié)一下view的概念。

第一步語法基礎(chǔ)

首先是引入相應(yīng)依賴,其次是創(chuàng)建html容器<div id="c1"></div>,最后是數(shù)據(jù)以及相應(yīng)初始化代碼

const data = [
  { feature: 'Battery', value: 0.22, phone: 'iPhone' },
  { feature: 'Brand', value: 0.28, phone: 'iPhone' },
  { feature: 'Contract', value: 0.29, phone: 'iPhone' },
  { feature: 'Design', value: 0.17, phone: 'iPhone' },
  { feature: 'Internet', value: 0.22, phone: 'iPhone' },
  { feature: 'Large', value: 0.02, phone: 'iPhone' },
  { feature: 'Price', value: 0.21, phone: 'iPhone' },
  { feature: 'Smartphone', value: 0.5, phone: 'iPhone' },
  { feature: 'Battery', value: 0.27, phone: 'Samsung' },
  { feature: 'Brand', value: 0.16, phone: 'Samsung' },
  { feature: 'Contract', value: 0.35, phone: 'Samsung' },
  { feature: 'Design', value: 0.13, phone: 'Samsung' },
  { feature: 'Internet', value: 0.2, phone: 'Samsung' },
  { feature: 'Large', value: 0.13, phone: 'Samsung' },
  { feature: 'Price', value: 0.35, phone: 'Samsung' },
  { feature: 'Smartphone', value: 0.38, phone: 'Samsung' },
  { feature: 'Battery', value: 0.26, phone: 'Nokia Smartphone' },
  { feature: 'Brand', value: 0.1, phone: 'Nokia Smartphone' },
  { feature: 'Contract', value: 0.3, phone: 'Nokia Smartphone' },
  { feature: 'Design', value: 0.14, phone: 'Nokia Smartphone' },
  { feature: 'Internet', value: 0.22, phone: 'Nokia Smartphone' },
  { feature: 'Large', value: 0.04, phone: 'Nokia Smartphone' },
  { feature: 'Price', value: 0.41, phone: 'Nokia Smartphone' },
  { feature: 'Smartphone', value: 0.3, phone: 'Nokia Smartphone' },
];
const chart = new Chart({
  container: 'c1',
  autoFit: false,
  width: 600,
  height: 300,
});
chart.data(data);
chart.point().position('feature*value');
chart.render();

首先創(chuàng)建了一個(gè)chart對(duì)象

const chart = new Chart({
? container: 'c1',
? autoFit: false,
? width: 600,
? height: 300,
})

然后我們填充相應(yīng)的data

chart.data(data);

再進(jìn)行圖形設(shè)置(point)以及相應(yīng)坐標(biāo)的設(shè)置(position)

chart.point().position('feature*value');

最后進(jìn)行圖像繪制

chart.render();

第二步設(shè)置坐標(biāo)軸的外觀與度量

外觀axis設(shè)置 

在g2中我們使用axis設(shè)置坐標(biāo)軸的外觀的顯示特性,我們一般可以不用設(shè)置。相關(guān)設(shè)置可以參考官方 axis API。

度量配置

G2 中的度量 (Scale) 是一個(gè)非常重要的概念,用于定義數(shù)據(jù)的類型和展示方式,在下列方面起到重要的作用:

  • 生成坐標(biāo)軸刻度值
  • 顯示圖例項(xiàng)
  • 格式化數(shù)據(jù)展示的文本

G2 中提供了下面幾種度量,也就是連續(xù)和分類兩個(gè)大類別

  • identity,常量類型的數(shù)值,也就是說數(shù)據(jù)的某個(gè)字段是不變的常量
  • linear,連續(xù)的數(shù)字 [1, 2, 3, 4, 5]
  • cat,分類,[‘男’, ‘女’]
  • time,連續(xù)的時(shí)間類型
  • log,連續(xù)非線性的
  • Log,數(shù)據(jù)將 [1, 10, 100,1000] 轉(zhuǎn)換成 [0, 1, 2, 3]
  • pow,連續(xù)非線性的pow 數(shù)據(jù) 將 [2, 4, 8, 16, 32] 轉(zhuǎn)換成 [1,2, 3, 4, 5]
  • timeCat,非連續(xù)的時(shí)間,比如股票的時(shí)間不包括周末或者未開盤的日期
  • quantize,分段度量,例如[0-100, 100-200, 200-300] 在一個(gè)區(qū)間內(nèi)映射到一個(gè)值上
  • quantile,密度分段度量,會(huì)根據(jù)數(shù)據(jù)的分布自動(dòng)計(jì)算一個(gè)個(gè)的區(qū)間段

度量使用scale函數(shù)進(jìn)行配置,scale(field: string, scaleOption) 設(shè)置單個(gè)坐標(biāo),scale(cfg)批量設(shè)置。

坐標(biāo)度量的通用配置項(xiàng)有: 

坐標(biāo)軸的刻度和范圍是由g2自動(dòng)生成的,我們可以設(shè)置min,max數(shù)值范圍、ticks數(shù)組自定義坐標(biāo)軸顯示的刻度文本及刻度數(shù)量,formatter自定義刻度格式,tickCount刻度數(shù)量、tickInterval刻度間距。

第二步創(chuàng)建view

G2 的圖表 Chart,可以創(chuàng)建多個(gè)視圖 View,每個(gè) View 各自又可以創(chuàng)建其子 View,即在 G2 4.0 中,View 是支持嵌套的。每個(gè) View 同 Chart 一樣,擁有自己獨(dú)立的數(shù)據(jù)源、坐標(biāo)系、幾何標(biāo)記、Tooltip 以及圖例,你可以這樣理解,其實(shí) Chart 也是一種特殊的 View,在類結(jié)構(gòu)設(shè)計(jì)上,Chart 和 View 的關(guān)系如下:

也就是view繼承子chart,所以我認(rèn)為我們?cè)赾hart設(shè)置的屬性,view也會(huì)繼承過來,所以部分配置無需我們?cè)谶M(jìn)行單獨(dú)設(shè)置。

const view = chart.createView({
  region: {
    start: { x: 0.2, y: 0.2 }, // 指定該視圖繪制的起始位置,x y 為 [0 - 1] 范圍的數(shù)據(jù)
    end: { x: 1, y: 1 }, // 指定該視圖繪制的結(jié)束位置,x y 為 [0 - 1] 范圍的數(shù)據(jù)
  },
  padding: [20, 40], // 指定視圖的留白
});

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue實(shí)現(xiàn)帶縮略圖的輪播圖效果

    vue實(shí)現(xiàn)帶縮略圖的輪播圖效果

    這篇文章主要為大家詳細(xì)介紹了如何使用vue實(shí)現(xiàn)帶縮略圖的輪播圖效果,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的可以參考下
    2024-02-02
  • vue實(shí)現(xiàn)修改圖片后實(shí)時(shí)更新

    vue實(shí)現(xiàn)修改圖片后實(shí)時(shí)更新

    今天小編就為大家分享一篇vue實(shí)現(xiàn)修改圖片后實(shí)時(shí)更新,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Vue路由實(shí)現(xiàn)頁面跳轉(zhuǎn)的示例代碼

    Vue路由實(shí)現(xiàn)頁面跳轉(zhuǎn)的示例代碼

    根據(jù)登錄的角色不一樣,實(shí)現(xiàn)不同的路由展示,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-04-04
  • Vue3?使用v-model實(shí)現(xiàn)父子組件通信的方法(常用在組件封裝規(guī)范中)

    Vue3?使用v-model實(shí)現(xiàn)父子組件通信的方法(常用在組件封裝規(guī)范中)

    這篇文章主要介紹了Vue3?使用v-model實(shí)現(xiàn)父子組件通信(常用在組件封裝規(guī)范中)的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • vue element-ui實(shí)現(xiàn)el-table表格多選以及回顯方式

    vue element-ui實(shí)現(xiàn)el-table表格多選以及回顯方式

    這篇文章主要介紹了vue element-ui實(shí)現(xiàn)el-table表格多選以及回顯方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • vue實(shí)現(xiàn)顯示消息提示框功能

    vue實(shí)現(xiàn)顯示消息提示框功能

    這篇文章主要介紹了vue實(shí)現(xiàn)顯示消息提示框功能,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Vue路由鉤子之a(chǎn)fterEach beforeEach的區(qū)別詳解

    Vue路由鉤子之a(chǎn)fterEach beforeEach的區(qū)別詳解

    這篇文章主要介紹了Vue路由鉤子 afterEach beforeEach區(qū)別 ,vue-router作為vue里面最基礎(chǔ)的服務(wù),學(xué)習(xí)一段時(shí)間,對(duì)遇到的需求進(jìn)行一些總結(jié)。需要的朋友可以參考下
    2018-07-07
  • 詳解vue-router的Import異步加載模塊問題的解決方案

    詳解vue-router的Import異步加載模塊問題的解決方案

    這篇文章主要介紹了詳解vue-router的Import異步加載模塊問題的解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • 詳解Vue如何使用$emit進(jìn)行組件通信

    詳解Vue如何使用$emit進(jìn)行組件通信

    $emit是Vue實(shí)例的一個(gè)方法,它用于觸發(fā)自定義事件,本文主要為大家詳細(xì)介紹了Vue如何使用$emit進(jìn)行組件通信,感興趣的小伙伴可以跟隨小編咦學(xué)習(xí)一下
    2023-12-12
  • Vue全局自適應(yīng)大小:使用postcss-pxtorem方式

    Vue全局自適應(yīng)大小:使用postcss-pxtorem方式

    本文介紹了如何在Vue項(xiàng)目中使用postcss-pxtorem插件實(shí)現(xiàn)響應(yīng)式設(shè)計(jì),postcss-pxtorem可以自動(dòng)將CSS文件中的px單位轉(zhuǎn)換為rem單位,從而實(shí)現(xiàn)更好的自適應(yīng)布局,通過配置postcss-pxtorem插件,可以在構(gòu)建時(shí)自動(dòng)完成轉(zhuǎn)換,無需手動(dòng)修改代碼
    2025-01-01

最新評(píng)論

民权县| 南城县| 巴青县| 定日县| 修文县| 甘南县| 托里县| 新巴尔虎右旗| 侯马市| 诏安县| 武威市| 汪清县| 乐业县| 建昌县| 乌鲁木齐市| 乌鲁木齐市| 乌拉特中旗| 彭水| 西平县| 唐海县| 玉龙| 共和县| 喀喇沁旗| 金沙县| 福海县| 静宁县| 小金县| 会昌县| 贡山| 郸城县| 香河县| 肃南| 贵港市| 渑池县| 肥城市| 怀远县| 宁武县| 洛南县| 广宁县| 霸州市| 长泰县|