AntV - G2數(shù)據(jù)驅(qū)動的高交互可視化圖形語法
G2 是一套基于可視化編碼的圖形語法,以數(shù)據(jù)驅(qū)動,具有高度的易用性和擴(kuò)展性,用戶無需關(guān)注各種繁瑣的實(shí)現(xiàn)細(xì)節(jié),一條語句即可構(gòu)建出各種各樣的可交互的統(tǒng)計圖表。
同時,G2 也是 AntV 最重要的組成,始于《The Grammar of Graphics》一書描述的視覺編碼語法系統(tǒng)(這也是 G2 項(xiàng)目命名的由來)。
特性
-
簡單、易用:從數(shù)據(jù)出發(fā),僅需幾行代碼就可以輕松獲得想要的圖表展示效果
-
完備的可視化編碼:以數(shù)據(jù)驅(qū)動,提供了從數(shù)據(jù)到圖形的完整映射
-
強(qiáng)大的擴(kuò)展能力:任何圖表,都可以基于圖形語法靈活繪制,滿足你無限的創(chuàng)意
示例
柱狀圖
完整代碼:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>柱狀圖</title>
<!-- 引入 G2 文件 -->
<script src="https://gw.alipayobjects.com/as/g/datavis/assets/1.0.5/g2/3.0.0/g2.min.js"></script>
</head>
<body>
<!-- 創(chuàng)建圖表容器 -->
<div id="c1"></div>
<script>
const data = [
{ genre: 'Sports', sold: 275 },
{ genre: 'Strategy', sold: 115 },
{ genre: 'Action', sold: 120 },
{ genre: 'Shooter', sold: 350 },
{ genre: 'Other', sold: 150 }
]; // G2 對數(shù)據(jù)源格式的要求,僅僅是 JSON 數(shù)組,數(shù)組的每個元素是一個標(biāo)準(zhǔn) JSON 對象。
// Step 1: 創(chuàng)建 Chart 對象
const chart = new G2.Chart({
container: 'c1', // 指定圖表容器 ID
width : 600, // 指定圖表寬度
height : 300 // 指定圖表高度
});
// Step 2: 載入數(shù)據(jù)源
chart.source(data);
// Step 3:創(chuàng)建圖形語法,繪制柱狀圖,由 genre 和 sold 兩個屬性決定圖形位置,genre 映射至 x 軸,sold 映射至 y 軸
chart.interval().position('genre*sold').color('genre')
// Step 4: 渲染圖表
chart.render();
</script>
</body>
</html>
安裝
瀏覽器引入
既可以通過將腳本下載到本地也可以直接引入在線資源;
<!-- 引入在線資源 --> <script src="https://gw.alipayobjects.com/as/g/datavis/assets/1.0.5/g2/3.0.0/g2.min.js"></script>
<!-- 引入本地腳本 --> <script src="./g2.js"></script>
通過 npm 安裝
官方提供了 G2 npm 包,通過下面的命令即可完成安裝
npm install @antv/g2 --save
成功安裝完成之后,即可使用 import 或 require 進(jìn)行引用。
import G2 from '@antv/g2';
const chart = new G2.Chart({
container: 'c1',
width: 600,
height: 300
});評論
圖片
表情
