Highchart - xAxis еженедельная дата может начинаться с данного дня? - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть очень простой график 'еженедельной даты' строки.Мне просто нужна дата на оси абсцисс, чтобы начать заданный день моей первой точки.Я указал pointStart: Date.UTC (2018, 09, 25) , но он показывает другую неделю в другом месяце?Как я могу отобразить неделю от указанной даты по оси X?

$('#container').highcharts({
            chart: {
                type: 'line'
            },
            credits : {
              enabled : false
            },
            title: {
                text: false
            },
            xAxis: {  
                tickInterval:  7 * 24 * 3600 * 1000,
                type: 'datetime',
                startOnTick: true,
                startOfWeek: 0,
                labels: {
                    format: '{value:%d/%m/%Y}',
                    rotation: -45,
                    y: 30,
                    align: 'center'
                } 
            },
            yAxis: {
                min: 0,
                title: {
                    text: 'HH'
                }
            },
            plotOptions: {
                series: {
                    pointStart: Date.UTC(2018, 09, 25),
                    pointInterval: 7 * 24 * 3600 * 1000
                }
            }, 
            series: [
                {
                    name: 'Curva Tardía',
                    data: [18, 27, 36, 36, 10]
                }, {
                    name: 'Curva Temprana',
                    data: [9, 18, 27, 27, 90]
                },{
                    name: 'Curva Real',
                    data: [0, 36, 45, 89, 100] 
                }
            ]
        });

gh

Ответы [ 2 ]

0 голосов
/ 30 ноября 2018

Вам необходимо использовать startOfWeek параметр:

xAxis: {
    startOfWeek: 4
}

Демонстрационная версия: http://jsfiddle.net/BlackLabel/nL4vuz5f/

API: https://api.highcharts.com/highcharts/xAxis.startOfWeek

0 голосов
/ 29 ноября 2018

Легко сделать ошибку, в Date.UTC, месяц - это индекс на основе 0, что означает, что инициализация функции с помощью 09 означает, что она устанавливает месяц на октябрь, а не на сентябрь.

Установив Date.UTC(2018, 08, 25), вы получите ожидаемую дату:

$('#container').highcharts({
            chart: {
                type: 'line'
            },
            credits : {
              enabled : false
            },
            title: {
                text: false
            },
            xAxis: {  
                tickInterval:  7 * 24 * 3600 * 1000,
                type: 'datetime',
                startOnTick: true,
                startOfWeek: 0,
                labels: {
                    format: '{value:%d/%m/%Y}',
                    rotation: -45,
                    y: 30,
                    align: 'center'
                } 
            },
            yAxis: {
                min: 0,
                title: {
                    text: 'HH'
                }
            },
            plotOptions: {
                series: {
                    pointStart: Date.UTC(2018, 08, 25),
                    pointInterval: 7 * 24 * 3600 * 1000
                }
            }, 
            series: [
                {
                    name: 'Curva Tardía',
                    data: [18, 27, 36, 36, 10]
                }, {
                    name: 'Curva Temprana',
                    data: [9, 18, 27, 27, 90]
                },{
                    name: 'Curva Real',
                    data: [0, 36, 45, 89, 100] 
                }
            ]
        });
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="https://code.highcharts.com/highcharts.js"></script>

<div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...