spot framework
Version 0.0.7
將高維度資料集分組、分類、組合和聚合,以進行互動式視覺化分析。定義資料的簡單(低維)橫截面,稱為過濾器。過濾器對資料進行分區(bin)並且可以進行聚合(求和、平均值、標準差等)。結果以簡單數組的形式傳回,您可以繪製或分析該數組(另請參閱其他 SPOT 項目)。所有過濾器都會連結並自動更新。
使用單一 API,它可以透過 crossfilter 完全在客戶端運行,也可以使用spot-server
來使用 PostgreSQL 資料庫。
git clone https://github.com/NLeSC/spot-framework.git && cd spot
npm install
// get a new Spot instance
var Spot = require ( './src/me' ) ;
var spot = new Spot ( ) ;
// add a dataset
var dataset = spot . datasets . add ( {
name : 'My data'
} ) ;
// add some data to the dataset
dataset . crossfilter . add ( [
{ firstName : 'John' , lastName : 'Smith' , age : 35 } ,
{ firstName : 'Mary' , lastName : 'Smith' , age : 49 } ,
{ firstName : 'Little' , lastName : 'Smith' , age : 8 } ,
{ firstName : 'Dee' , lastName : 'Jones' , age : 5 } ,
{ firstName : 'Doo' , lastName : 'Jones' , age : 9 }
] ) ;
// Have SPOT scan the dataset:
// 1. it auto-detects 'firstName', 'lastName', and 'age' attributes
// 2. it creates the corresponding Facets
dataset . scan ( ) ;
// make the dataset active
spot . toggleDataset ( dataset ) ;
var dataview = spot . dataview ;
// add a filter
var filter = dataview . filters . add ( {
title : 'filter one'
} ) ;
// ... that partitions the data on 'lastName'
filter . partitions . add ( [
{ facetName : 'lastName' , rank : 1 }
] ) ;
filter . partitions . forEach ( function ( partition ) {
partition . setGroups ( ) ;
} ) ;
// ... and that takes the average over the 'age'
filter . aggregates . add ( [
{ facetName : 'age' , rank : 1 , operation : 'avg' }
] ) ;
// initialize the filter
filter . initDataFilter ( ) ;
// listen to data
filter . on ( 'newData' , function ( ) {
console . log ( 'data: ' , filter . data ) ;
} ) ;
dataview . getData ( ) ;
可以在此處找到現場文件。
Jisk Attema,荷蘭電子科學中心