spot framework
Version 0.0.7
대화형 시각적 분석을 위해 고차원 데이터 세트를 그룹화, 분류, 결합 및 집계합니다. 필터라고 하는 데이터의 간단한(낮은 차원) 단면을 정의합니다. 데이터를 분할(bin)하고 집계(합계, 평균, 표준 편차 등)를 수행할 수 있도록 필터링합니다. 결과는 플롯하거나 분석할 수 있는 간단한 배열로 반환됩니다(다른 SPOT 프로젝트도 참조). 모든 필터는 자동으로 연결되고 업데이트됩니다.
단일 API를 사용하면 크로스필터를 통해 완전히 클라이언트 측을 실행하거나 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