UNPKG

1.67 kBHTMLView Raw
1<!DOCTYPE html>
2<html lang="en">
3
4<head>
5 <meta charset="UTF-8">
6 <meta name="viewport" content="width=device-width, initial-scale=1.0">
7 <meta http-equiv="X-UA-Compatible" content="ie=edge">
8 <meta name="geometry" content="diagram">
9 <link rel="stylesheet" href="./assets/common.css">
10 <title>Interval Chart(X)</title>
11</head>
12
13<body>
14<div id="canvas"></div>
15<div style="width: 100%;text-align: center;">
16</div>
17<script src="./assets/jquery-3.2.1.min.js"></script>
18<script src="./assets/data-set.min.js"></script>
19<script src="./assets/g2.min.js"></script>
20<script src="../build/g2-brush.js"></script>
21<script>
22 $.getJSON('./data/top2000.json', data => {
23 const ds = new DataSet();
24 const dv = ds.createView('test')
25 .source(data)
26 .transform({
27 as: [ 'count' ],
28 groupBy: [ 'release' ],
29 operations: [ 'count' ],
30 type: 'aggregate'
31 });
32
33 const chart = new G2.Chart({
34 container: 'canvas',
35 forceFit: true,
36 height: window.innerHeight
37 });
38 chart.source(dv);
39 chart.scale({
40 count: {
41 alias: 'top2000 唱片总量'
42 },
43 release: {
44 tickInterval: 5,
45 alias: '唱片发行年份'
46 }
47 });
48 chart.interval()
49 .position('release*count')
50 .color('#e50000');
51
52 chart.render();
53
54 new Brush({
55 canvas: chart.get('canvas'),
56 chart,
57 type: 'X',
58 onBrushstart() {
59 chart.hideTooltip();
60 },
61 onBrushmove() {
62 chart.hideTooltip();
63 }
64 });
65 chart.on('plotdblclick', () => {
66 chart.get('options').filters = {};
67 chart.repaint();
68 });
69 });
70</script>
71</body>
72
73</html>
74