gpt4 book ai didi

javascript - Highcharts 如何仅在 x 轴的值大于 0 时绘制?

转载 作者:行者123 更新时间:2023-12-03 12:21:54 24 4
gpt4 key购买 nike

伙计们,我有一个简单的 Highcharts ,它显示问题数量和每天解决的问题数量。图表的开始日期是当前日期的 -30 天。因此它将始终显示每 30 天的数据。

现在我想做的是从x轴数据大于0的地方动态启动图表。

例如,如果 29 天的问题/解决计数为 0,而第 30 天问题计数增加到 1,我想从第 30 天开始绘制图表,依此类推。

这是我的图表的代码

$('#performance-cart').highcharts({
chart: {
type: 'area', backgroundColor: '#f5f7f7', style: { fontFamily: 'Roboto, Sans-serif', color: '#aeafb1' },
animation: {
duration: 1500,
easing: 'easeOutBounce'
}
},
xAxis: {
type: 'datetime',
labels: { style: { color: '#aeafb1' } }
},
yAxis: {
min: 0, max: maxVal, tickInterval: 10, gridLineColor: '#ebeded', gridLineWidth: 1,
title: { text: '' }, lineWidth: 0, labels: { align: 'right', style: { color: '#aeafb1' } }
},
title: { text: '' },
tooltip: {
useHTML: true, headerFormat: '<h3 style="color:#ffffff;font-weight:300;padding: 3px 12px;">{point.y:,.1f}</br>',
backgroundColor: '#515757', pointFormat: 'Issues</h3>'//$('#performanceColumnChart').data('tooltip')
},
legend: {
itemStyle: { color: '#838589' }, symbolWidth: 12, symbolHeight: 5, itemWidth: 80, symbolRadius: 0,
itemMarginBottom: 10, backgroundColor: '#f5f7f7', verticalAlign: 'top', borderWidth: 0, x: -498, y: 10
},
plotOptions: {
area: {
fillOpacity: 0.2, cursor: 'pointer', marker: {
symbol: 'circle', fillColor: '#FFFFFF', lineWidth: 2, lineColor: null,
allowPointSelect: true
}
},
line: {
fillOpacity: 0.2, cursor: 'pointer', marker: {
symbol: 'circle', fillColor: '#FFFFFF', lineWidth: 2, lineColor: null,
allowPointSelect: true
}
},
column: {
fillOpacity: 0.2, cursor: 'pointer', marker: {
symbol: 'circle', fillColor: '#FFFFFF', lineWidth: 2, lineColor: null,
allowPointSelect: true
}
},
series: {
pointStart: myDateVariable,
pointInterval: 24 * 3600 * 1000 // one day
}
},
series: [{
name: 'Issues', color: '#ff3806',
data: myIssueData,
marker: { states: { hover: { fillColor: '#ff3806', lineColor: '#ffffff', lineWidth: 2 } } }
}, {
name: 'Resolved', color: '#1da9dd',
data: myResolvedData,
marker: { states: { hover: { fillColor: '#1da9dd', lineColor: '#ffffff', lineWidth: 2 } } }
}]
});

这种方法可行吗?如果是这样,我想要一些指示。我搜索了 Highcharts 官方文档,但无法从中获得任何帮助。

最佳答案

最简单的方法是预处理您的数据,使 myIssueData 满足您的要求。您尚未说明您使用什么来生成数据,因此答案取决于您的数据源。对于基于 SQL 的,您可以查询最近的非 0 发布日期,然后使用该日期作为查询的起点。伪代码:

DECLARE @startDate AS datetime

SELECT @startDate = MAX(date)
FROM myIssuesTable
WHERE issueCountColumn > 0

SELECT date, issueCountColumn
FROM myIssuesTable
WHERE date >= @startDate
ORDER BY date ASC

第二个查询的结果将成为您的 myIssueData。这不考虑问题计数超过 0 超过 30 天的情况,但在这种情况下您可以跳过此查询,并使用直接查询从今天起 30 天前的日期

关于javascript - Highcharts 如何仅在 x 轴的值大于 0 时绘制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24407604/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com