fix: 近30日趋势显示30天数据点而非4周
- 新增getXLabels30()函数,生成近30天的日期标签 - AQI柱状图近30日改为30根柱子对应30天(替代原来的4周标签) - 普通指标折线图近30日显示30个数据点+30天日期标签
This commit is contained in:
@@ -367,6 +367,14 @@ function getXLabels7() {
|
||||
}
|
||||
return labels;
|
||||
}
|
||||
function getXLabels30() {
|
||||
var labels = [], now = new Date(2026, 5, 4);
|
||||
for (var i = 29; i >= 0; i--) {
|
||||
var d = new Date(now); d.setDate(d.getDate() - i);
|
||||
labels.push((d.getMonth()+1) + '/' + d.getDate());
|
||||
}
|
||||
return labels;
|
||||
}
|
||||
|
||||
/* X 坐标计算 */
|
||||
function calcXPositions(count) {
|
||||
@@ -460,14 +468,13 @@ function renderTrend(metricName, period) {
|
||||
|
||||
// AQI 非 24h → 柱状堆积图
|
||||
if (cfg.isAQI && period !== '24h') {
|
||||
var labels = period === '7d' ? getXLabels7() : Array.from({length:4}, function(_, i) { return '第' + (i+1) + '周'; });
|
||||
var labels = period === '7d' ? getXLabels7() : getXLabels30();
|
||||
return renderAQIBarChart(timeData, labels);
|
||||
}
|
||||
|
||||
var points = timeData.points;
|
||||
var n = points.length;
|
||||
var labels = cfg.isAQI ? (period === '24h' ? xLabels24 : getXLabels7()) : (period === '24h' ? xLabels24 : getXLabels7());
|
||||
if (period === '30d' && n === 30) labels = (function() { var l = [], now = new Date(2026,5,4); for (var i = 29; i >= 0; i--) { var d = new Date(now); d.setDate(d.getDate() - i); l.push((d.getMonth()+1) + '/' + d.getDate()); } return l; })();
|
||||
var labels = period === '24h' ? xLabels24 : (period === '7d' ? getXLabels7() : getXLabels30());
|
||||
|
||||
var xPositions = calcXPositions(n);
|
||||
var yMax = cfg.yMax;
|
||||
|
||||
Reference in New Issue
Block a user