UNPKG

2.09 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>Line Chart(XY)</title>
11</head>
12
13<body>
14<div id="canvas"></div>
15<script src="./assets/jquery-3.2.1.min.js"></script>
16<script src="./assets/data-set.min.js"></script>
17<script src="./assets/g2.min.js"></script>
18<script src="../build/g2-brush.js"></script>
19<script>
20 $.getJSON('./data/avg-temp.json', function(data) {
21 const { DataView } = DataSet;
22 const dv = new DataView();
23 dv.source(data)
24 .transform({
25 type: 'fold',
26 key: 'city',
27 value: 'value',
28 fields: [ 'New York', 'San Francisco', 'Austin' ]
29 });
30 const chart = new G2.Chart({
31 id: 'canvas',
32 forceFit: true,
33 height: 400,
34 padding: [ 60, 30, 30 ]
35 });
36 chart.source(dv, {
37 date: {
38 type: 'time'
39 },
40 value: {
41 alias: 'Temperature, ºF'
42 }
43 });
44 chart.legend({
45 position: 'top'
46 });
47 chart.axis('date', {
48 line: {
49 stroke: '#000'
50 },
51 tickLine: {
52 stroke: '#000',
53 value: 6 // 刻度线长度
54 },
55 label: {
56 textStyle: {
57 textAlign: 'start'
58 }
59 }
60 });
61 chart.axis('value', {
62 tickLine: {
63 stroke: '#000',
64 value: 6 // 刻度线长度
65 },
66 label: {
67 textStyle: {
68 fill: '#000'
69 }
70 },
71 line: {
72 stroke: '#000'
73 },
74 grid: null
75 });
76 chart.line()
77 .position('date*value')
78 .color('city')
79 .shape('spline')
80 .size(2);
81 chart.render();
82
83 new Brush({
84 canvas: chart.get('canvas'),
85 style: {
86 fill: '#ccc',
87 fillOpacity: 0.4
88 },
89 chart
90 });
91 chart.on('plotdblclick', () => {
92 chart.get('options').filters = {};
93 chart.repaint();
94 });
95 });
96</script>
97</body>
98</html>
99