import 'zone.js'; import 'reflect-metadata'; import { Component, enableProdMode, NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { ViserModule } from 'viser-ng'; import * as $ from 'jquery'; const DataSet = require('@antv/data-set'); const { DataView } = DataSet; const scale = [{ dataKey: 'mean', sync: true }, { dataKey: 'cut', sync: true, }]; const views = (view, facet) => { const data = facet.data; const dv = new DataView(); dv.source(data).transform({ type: 'aggregate', fields: ['price'], operations: ['mean'], as: ['mean'], groupBy: ['cut'] }); return { data: dv, series: { quickType: 'bar', position: 'cut*mean', color: 'cut', } } } @Component({ selector: '#mount', template: `
` }) export class AppComponent { forceFit: boolean = true; height: number = 400; data = []; scale = scale; fields = ['clarity']; views = views; constructor() { $.getJSON('/assets/data/diamond.json', (data) => { this.data = data; }); } } @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, ViserModule ], providers: [], bootstrap: [AppComponent] }) export default class AppModule { }