如何在 HighChart 中设置每月的 PointIntervals

新手上路,请多包涵

我使用 HighCharts 来绘制每月创建的用户数量。我设法在 x 轴上显示月份,并且我将 pointInterval 设置如下

点间隔:24 * 3600 * 1000 * 31

但这是盲目给出的,它不会正确绘制点。我需要在每个月的第一天绘制点。但上述间隔有助于按月而不是在每月的第一天绑定点数。这个 例子 描述了我的问题。工具提示给出了清晰的想法。这是我的代码

series: [{
        type: 'area',
        name: 'CDP Created',
        pointInterval: 24 * 3600 * 1000 * 31,
        pointStart: Date.UTC(2005, 0, 01),
        dataGrouping: {
            enabled: false
        },
        data: [0, 0, 0, 0, 0, 0, 0, 148.5, 216.4, 194.1, 95.6, 54.4]

    }]

无论如何设置 pointInterval 取决于月份。因为如果我像上面那样简单地给出 pointInterval,它将每 31 天计算一次。当月份有 28 或 30 天时,这会产生问题。如何实现它。调整容器 div 的宽度也会使 x 轴值无法正确显示。提前致谢

原文由 Satheesh 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 613
2 个回答

在 v4.1.0 中引入了 series.pointIntervalUnit 。使用该选项定义点之间的不规则间隔(例如日、月、年)。

旧答案(Highcharts < 4.1.0):

不幸的是,这是不可能的 pointInterval 只是按给定的数字递增,所以不规则的值是不可能的。但是,您可以直接设置 x 值,请参阅:http: //jsfiddle.net/kUBdb/2/

JS 的好处在于

Date.UTC(2007, 10, 10) == Date.UTC(2005,34, 10)

返回 true,因此您可以自由地将月份递增 1。

原文由 Paweł Fus 发布,翻译遵循 CC BY-SA 4.0 许可协议

对此的其他答案已过时。

现在您需要做的就是添加 pointIntervalUnit 属性。您可以将其与 pointInterval 结合使用以绘制不规则间隔:

 Highcharts.chart('container', {

...

plotOptions: {
    series: {
        pointStart: Date.UTC(2015, 0, 1),
        pointIntervalUnit: 'month'
    }
},
...

请参阅: https ://api.highcharts.com/highcharts/plotOptions.series.pointInterval

另外: https ://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/plotoptions/series-pointintervalunit/

原文由 Robbie 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏