學習視覺化基礎庫筆記

2021-06-26 21:20:49 字數 2013 閱讀 7398

一.相關知識:

require.js載入的模組,採用amd規範。也就是說,模組必須按照amd的規定來寫。

具體來說,就是模組必須採用特定的define()函式來定義。如果乙個模組不依賴其他模組,那麼可以直接定義在define()函式之中。

假定現在有乙個math.js檔案,它定義了乙個math模組。那麼,math.js就要這樣寫:

// math.js

define(function ();

載入方法如下:

// main.js

require(['math'], function (math)

);

2.資料驅動:利用bngraph繪圖,你只需要定義圖形資料,剩下的事情就交個bngraph吧。

var circleshape = require('bngraph/shape/circle');

bg.addshape(

new circleshape(

}));bg.render();

3.完整的事件封裝:用dom事件模型去操作canvas裡的圖形元素。你不僅可以響應bngraph全域性時間,你甚至可以為特定shape上新增特定時間,後續發生的一切都會按你想的執行。

var circleshape = require('bngraph/shape/circle');

bg.addshape(

new circleshape(,

// 圖形元素上繫結事件

onmouseover : function(params)

}));// 全域性事件

bg.on('click', function(params) );

4.高效是分層重新整理:正如css中zlevel的作用一樣,你可以定義把不同的shape分別放在不同的層中,這不僅實現了視覺上的上下覆蓋,更重要的是當圖形元素發生變化後的refresh將侷限在發生了變化的圖形層中,這在你利用bngraph做各種動畫效果是十分有用,效能自然也更加出色。

bg.addshape(shapea);    // shapea.zlevel = 0; (default)

bg.addshape(shapeb); // shapeb.zlevel = 1;

bg.render();

bg.modshape(shapeb.id, );

// don't worry! is merge!

bg.refresh();

// just the level 1 canvas has been refresh~

5.豐富的圖形選項:當前內建多種圖形元素(圓形、橢圓、圓環、扇形、矩形、多邊形、直線、曲線、心形、水滴、路徑、文字、。。。。),統一豐富的圖形屬性充分滿足你的個性化需求!

var circleshape = require('bngraph/shape/circle');

var myshape = new circleshape(,

draggable : true

});

6.強大的動畫支援:提供promise式的動畫介面和常用緩動函式,輕鬆實現各種動畫需求。

bg.addshape(newshape);

bg.render();

bg.animate(newshape.id)

.when(1000, )

.when(2000, )

.start('bounceout');

7.易於擴充套件:分而治之的圖形定義策略允許你擴充套件自己獨有的圖形元素,你既可以完整實現三個介面方法(brush、drift、iscover),也可以通過base派生後僅實現你所關心的圖形細節。

function myshape() 

bg.addshape(

new myshape(,

...})

);

筆記 matplotilb資料視覺化基礎

matplotilb是我們使用的乙個基礎的視覺化方法 一般來說,使用matplotilb是較為專業的繪製圖形的選擇 不需要很專業的時候可以只是用matplotilb的子模組pyplot 首先我們先設定乙個x,乙個y 以x為橫座標,以y為縱座標 通過plot x,y 就可以得到所需要的圖形,其本質是乙...

機器學習基礎 資料視覺化

資料視覺化 資料視覺化是大資料領域非常倚重的一項技術,但由於業內浮躁的大環境影響,這項技術的地位漸漸有些尷尬。尤其是在諸如態勢感知 威脅情報等應用中,簡陋的視覺化效果太醜,過於華麗的視覺化效果只能忽悠忽悠外行,而給內行的感覺就是刻意為之 華而不實。曾幾何時,視覺化技術不過是一種資料分析的手段罷了。慚...

視覺化基礎 (3)

本篇只是讓大家對於webgl 有個大致認知即可,了解他的大致流程 因為我們在專案中的開發都是基於各種封裝好的框架 如 three.js等 webgl 是一種繪圖協議,本質基於的元素標籤還是canvas 語言大部分還是我們前端的這些語言,只是新增了乙個著色器語言glsl es,但是我們不了解這個沒有關...