【问题标题】:highcharts xAxis yearly datahighcharts xAxis 年度数据
【发布时间】:2014-05-23 04:41:25
【问题描述】:

试图从 1895 年及以上获取临时数据以显示在高图表上。问题是 xAxis 不正确。我怎样才能让它正确显示(勾选每年向右增加)?

$('.cchighchart').highcharts({
chart: {
    zoomType: 'xy'
},
title: {
    text: null
},
xAxis: {
    type: 'datetime'
},
yAxis: [{
    title: {
        text: 'Average Temperature (F)'
    }
}],
series: [{
    name: 'Average Temperature',
    width: 3,
    zIndex: 1,
    yAxis: 0,
    data: [
        ["1895", 42.441666666667],
        ["1896", 44.875],
        ["1897", 44.033333333333],
        ["1898", 42.716666666667],
        ["1899", 43.183333333333],
        ["1900", 45.408333333333],
        ["1901", 45.116666666667]
    ]
}]
});

http://jsfiddle.net/deadpickle/ZAqzj/

【问题讨论】:

  • 非常感谢您的收获
  • 如果您要使用datetime 类型,那么您需要将年份转换为unix 纪元时间。但我认为您实际上并不需要将其作为datetime 轴。见jsfiddle.net/ZAqzj/1

标签: javascript datetime highcharts


【解决方案1】:

对于datetime,您需要 x 轴数据处于 unix 纪元时间。这可以像这样相当简单地完成:

    data: [
        [Date.UTC(1895, 0, 1), 42.441666666667],
        [Date.UTC(1896, 0, 1), 44.875],
        [Date.UTC(1897, 0, 1), 44.033333333333],
        [Date.UTC(1898, 0, 1), 42.716666666667],
        [Date.UTC(1899, 0, 1), 43.183333333333],
        [Date.UTC(1900, 0, 1), 45.408333333333],
        [Date.UTC(1901, 0, 1), 45.116666666667]
    ]

here

或者,如果您实际上并不需要将其作为 datetime 轴(如果您的所有数据都是每年的,那么您真的不需要),您可以从您的 xaxis 中删除 type并将您的年份更改为数字(而不是字符串),它会很好地绘制:

    data: [
        [1895, 42.441666666667],
        [1896, 44.875],
        [1897, 44.033333333333],
        [1898, 42.716666666667],
        [1899, 43.183333333333],
        [1900, 45.408333333333],
        [1901, 45.116666666667]
    ]

here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-26
    相关资源
    最近更新 更多