我目前正致力于在highcharts中构建一个图表,我在其中按周和月绘制数据。这意味着对于每个月,将有4.3周图。我的问题是,有没有一种方法可以让按月的数据具有与周相似的长度(也就是,相同的起点和相同的终点),而不是在3-4个数据点之后突然停止,而在15个左右的数据点之后停止。
目前它看起来是这样的:

这是针对每日/每周的,但将更改为每周/每月。同样的原理也适用。:)
谢谢!
发布于 2016-08-26 14:45:50
因此,我的目标是将每周的平均数据与每日数据一起列出。虽然我挣扎了相当长的一段时间,但解决方案相当简单。
在图表选项中,我需要使用datetime:
xAxis: {
type: 'datetime',
dateTimeLabelFormats: {
month: '%e. %b',
year: '%b'
}
}在此之后,我必须格式化我的日期(是mysql格式的,所以YYYY-MM-DD / YYYY-WW)。我这里最大的障碍是数据是1)来自API端点的动态数据2)不同的数据点(周与天)
因为我可以控制API端点,所以我可以对那里的日期进行更改,以避免客户端的性能损失。数据需要使用时间戳w/ ms,为此,我使用了momentjs。下面是几周的例子:
let d = moment(i.date, 'YYYY-WW').format('YYYY-MM-DD')
let dateFormat = new Date(d);
let date = moment(d).day(parseInt(goToDay)).format('YYYY-MM-DD').split('-')
let utcDate = Date.UTC(parseInt(date[0]), parseInt(date[1]) - 1, parseInt(date[2]))日子更轻松了:
let date = i.date.split('-');
let utcDate = Date.UTC(date[0], date[1] - 1, date[2])在此之后,只需将数据发送回客户端,然后像这样循环(注意,我使用的是angular,highcharts没有angular的过程会略有不同):
$scope.ChartConfig.series = [];
$scope.ChartConfig.series.push({
name: 'Daily',
title: 'Daily',
data: data.daily.data
})
$scope.ChartConfig.series.push({
name: 'Weekly',
title: 'Weekly',
data: data.weekly.data
});这完美地呈现了图表,就像我想要的那样:

https://stackoverflow.com/questions/39131742
复制相似问题