【问题标题】:Highcharts: set only last chunk of line as a dotted zoneHighcharts:仅将最后一行设置为虚线区域
【发布时间】:2018-09-19 22:22:48
【问题描述】:

我试图让这张图表仅显示上个月的点:

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/

(此 highcharts 代码与 highcharts 文档中的 http://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/series/color-zones-dashstyle-dot/ 基本相同,只是用我的时间序列数据代替。

但是,它会使整个图表变成点状,而不仅仅是最后一点。任何想法为什么?我似乎无法解决这个问题。

【问题讨论】:

    标签: highcharts


    【解决方案1】:

    你需要真正的价值而不是像这样的起始索引:

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

    Fiddle

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多