当前位置: 代码迷 >> JavaScript >> x轴上的高图时间间隔
  详细解决方案

x轴上的高图时间间隔

热度:162   发布时间:2023-06-13 12:49:28.0

我正在使用Highcharts JS库,

现在,我需要创建月度报告。 我有销售订单数量,对应于每月的天数。 例如,在第1天,销售订单数为30,第2天为20。

但是我只想在x轴(天)中显示诸如1、5、10、15、20、25、30之类的内容,并且仍然显示每天的销售订单信息。

我必须使用什么选项?

非常感谢你。

编辑1这是我的js代码

<script>
                                    var d = new Date();
                                    var m = d.getMonth();
                                    d.setMonth(d.getMonth() - 1);
                                    if (d.getMonth() === m)
                                        d.setDate(0);
                                    d.setHours(0, 0, 0);
                                    new Highcharts.Chart({
                                        chart: {
                                            renderTo: 'container_sales_report',
                                            type: 'line',
                                            height: 380,
                                            width: 415,
                                            zoomType: 'xy'
                                        },
                                        colors: ['#FF0000'],
                                        title: {
                                            text: 'Last 30 Days Reports',
                                            x: -20 //center
                                        },
                                        xAxis: [{
                                                type: 'datetime',
                                                dateTimeLabelFormats: {
                                                    day: '%e of %b'
                                                },
                                                crosshair: true
                                            }],
                                        yAxis: [{
                                                labels: {
                                                    format: '{value}',
                                                    style: {
                                                        color: Highcharts.getOptions().colors[1]
                                                    }
                                                },
                                                title: {
                                                    text: '',
                                                    style: {
                                                        color: Highcharts.getOptions().colors[1]
                                                    }
                                                }
                                            }],
                                        tooltip: {
                                            formatter: function () {
                                                return Highcharts.dateFormat('%d/%m', this.x) + ' : ' + this.y;
                                            }
                                        },
                                        legend: {
                                            layout: 'horizontal',
                                            align: 'bottom',
                                            verticalAlign: 'bottom',
                                            borderWidth: 0,
                                            backgroundColor: (Highcharts.theme && Highcharts.theme.legendBackgroundColor) || '#FFFFFF'
                                        },
                                        plotOptions: {
                                            spline: {
                                                marker: {
                                                    enabled: false
                                                }
                                            }
                                        },
                                        series: [{
                                                name: 'Cost',
                                                type: 'spline',
                                                data: [<?php echo $purchasesData; ?>],
                                                pointStart: Date.UTC(d.getYear(), d.getMonth(), d.getDate()),
                                                pointInterval: 24 * 3600 * 1000 // one day
                                            }]
                                    });
                                </script>

现在,x轴的时间间隔为7天。 很好,但我想知道是否可以控制此间隔?

您可以尝试对x轴使用tickInterval选项。 例如

xAxis: {
     tickInterval: 5
}
  相关解决方案