-
Notifications
You must be signed in to change notification settings - Fork 0
/
chart.ejs
111 lines (109 loc) · 2.29 KB
/
chart.ejs
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<div id="app">
<h1>Chart</h1>
<div style="text-align : right;">
<a class="btn btn-outline-primary" href="/mdats/"> リストに戻る </a>
</div>
<hr />
<canvas id="myChart" ></canvas>
</div>
<!-- -->
<script>
var color_red = 'rgb(255, 99, 132)';
var color_blue = 'rgb(54, 162, 235)';
//
function get_config(items){
var config = {
type: 'line',
data: {
labels: items.lbl ,
datasets: [{
label: 'H-num',
fill: false,
backgroundColor: color_red,
borderColor: color_red,
data: items.hnum ,
}, {
label: 'L-num',
fill: false,
backgroundColor: color_blue,
borderColor: color_blue,
data: items.lnum ,
}]
},
options: {
responsive: true,
/*
legend: {
display: false,
},
*/
title: {
display: true,
text: ' '
},
tooltips: {
mode: 'index',
intersect: false,
},
hover: {
mode: 'nearest',
intersect: true
},
scales: {
xAxes: [{
display: true,
ticks: {
autoSkip: false,
},
}],
yAxes: [{
display: true,
scaleLabel: {
display: true,
labelString: 'Value'
}
}]
}
}
};
return config;
}
//
function convert_cahrt_arr( items ){
var hnum = []
var lnum = []
var lbl = []
items.forEach( function (item) {
//console.log( item );
lbl.push( item.mdate )
hnum.push( item.hnum )
lnum.push( item.lnum )
});
var ret= {
"lbl" : lbl,
"hnum" : hnum,
"lnum" : lnum,
}
return ret;
}
//
function get_chart_data(){
var ctx = document.getElementById('myChart').getContext('2d');
axios.get("/api_mdats/index").then(res => {
var items = res.data.docs
var arr =[];
items.forEach( function (item) {
//console.log( item.date_str );
arr.push(item)
});
arr = convert_cahrt_arr(arr)
//console.log( arr );
config = get_config(arr);
window.myLine = new Chart(ctx, config);
});
}
//
window.onload = function() {
get_chart_data();
};
</script>