mirror of
https://github.com/TriM-Organization/LiteyukiBot-TriM.git
synced 2024-11-11 17:47:29 +08:00
75 lines
2.3 KiB
JavaScript
75 lines
2.3 KiB
JavaScript
// 数据类型声明
|
||
// import * as echarts from 'echarts';
|
||
|
||
let data = JSON.parse(document.getElementById("data").innerText) // object
|
||
const signChartDivTemplate = document.importNode(document.getElementById("sign-chart-template").content, true)
|
||
data.forEach((item) => {
|
||
let signChartDiv = signChartDivTemplate.cloneNode(true)
|
||
let chartID = item["name"]
|
||
// 初始化ECharts实例
|
||
// 设置id
|
||
signChartDiv.querySelector(".sign-chart").id = chartID
|
||
document.body.appendChild(signChartDiv)
|
||
|
||
let signChart = echarts.init(document.getElementById(chartID))
|
||
let timeCount = []
|
||
|
||
item["counts"].forEach((count, index) => {
|
||
// 计算平均值,index - 1的count + index的count + index + 1的count /3
|
||
if (index > 0) {
|
||
timeCount.push((item["counts"][index] - item["counts"][index - 1]) / (60 * (item["times"][index] - item["times"][index - 1])))
|
||
}
|
||
})
|
||
|
||
console.log(timeCount)
|
||
|
||
signChart.setOption(
|
||
{
|
||
animation: false,
|
||
title: {
|
||
text: item["name"],
|
||
textStyle: {
|
||
color: '#000000' // 设置标题文本颜色为红色
|
||
}
|
||
},
|
||
xAxis: {
|
||
type: 'category',
|
||
data: item["times"].map(timestampToTime),
|
||
},
|
||
yAxis: [
|
||
{
|
||
type: 'value',
|
||
min: Math.min(...item["counts"]),
|
||
},
|
||
{
|
||
type: 'value',
|
||
min: Math.min(...timeCount),
|
||
}
|
||
],
|
||
series: [
|
||
{
|
||
data: item["counts"],
|
||
type: 'line',
|
||
yAxisIndex: 0
|
||
},
|
||
{
|
||
data: timeCount,
|
||
type: 'line',
|
||
yAxisIndex: 1
|
||
}
|
||
]
|
||
}
|
||
)
|
||
})
|
||
|
||
|
||
function timestampToTime(timestamp) {
|
||
let date = new Date(timestamp * 1000)
|
||
let Y = date.getFullYear() + '-'
|
||
let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'
|
||
let D = date.getDate() + ' '
|
||
let h = date.getHours() + ':'
|
||
let m = date.getMinutes() + ':'
|
||
let s = date.getSeconds()
|
||
return M + D + h + m + s
|
||
} |