1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
import * as React from 'react';
import { Line } from 'react-chartjs-2';
import { chartJSResource, chartStyles, commonDataSetProps } from '../misc/chart';
const { useMemo } = React;
const extraChartOptions: import('chart.js').ChartOptions<'line'> = {
responsive: true,
maintainAspectRatio: false,
animation: false,
plugins: {
legend: { display: false },
tooltip: { enabled: false },
},
scales: {
x: { display: false, type: 'category' },
y: { display: false },
},
};
const data1 = [23e3, 35e3, 46e3, 33e3, 90e3, 68e3, 23e3, 45e3];
const data2 = [184e3, 183e3, 196e3, 182e3, 190e3, 186e3, 182e3, 189e3];
const labels = data1.map((_, i) => i);
export default function TrafficChart({ id }) {
chartJSResource.read();
const data = useMemo(
() => ({
labels,
datasets: [
{
...commonDataSetProps,
...chartStyles[id].up,
data: data1,
},
{
...commonDataSetProps,
...chartStyles[id].down,
data: data2,
},
],
}),
[id]
);
return (
<div style={{ width: 80, height: 40, padding: 5 }}>
<Line data={data} options={extraChartOptions} />
</div>
);
}
|