Highcharts: установить только последний кусок строки как пунктирную зону - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь, чтобы этот график был только пунктирным за последний месяц:

chart_data = [[1496275200000, 981], [1498867200000, 1089], [1501545600000, 1595], [1504224000000, 1296], [1506816000000, 1678], [1509494400000, 1879], [1512086400000, 2028], [1514764800000, 1885], [1517443200000, 1366], [1519862400000, 1558], [1522540800000, 1636], [1525132800000, 2438], [1527811200000, 2899], [1530403200000, 2521], [1533081600000, 2879], [1535760000000, 1702]]


Highcharts.chart('container', {
    title: {
        text: 'Zone with dash style'
    },
    subtitle: {
        text: 'Dotted line typically signifies prognosis'
    },
        xAxis: {
        type: 'datetime',
        labels: {
            formatter: function () {
                return Highcharts.dateFormat('%Y-%m', this.value)
            }
        },
        tickInterval: 30 * 24 * 3600 * 1000,
    },
    series: [{
        data: chart_data,
        zoneAxis: 'x',
        zones: [{
            value: chart_data.length - 2
        }, {
            dashStyle: 'dot'
        }]
    }]
});

https://jsfiddle.net/aL57381b/

(Этот код старших карт в основном совпадает с: http://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/series/color-zones-dashstyle-dot/ из документации по старшим диаграммам, только с данными моего временного ряда.

Однако, это делает весь график точечным, а не только последний бит. Любые идеи почему?исправить это.

1 Ответ

0 голосов
/ 20 сентября 2018

Вам нужно действительное значение, а не начальный индекс, подобный этому:

dottedStartIndex = chart_data[chart_data.length - 2][0];
Highcharts.chart('container', {
...
    zones: [{
        value: dottedStartIndex
    }, {
        dashStyle: 'dot'
    }]

Fiddle

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...