【问题标题】:Formatting the year in highcharts在 highcharts 中格式化年份
【发布时间】:2013-10-13 13:17:51
【问题描述】:

我正在为我的 highcharts 系列从 django 模板中提取数据。我将年份作为 X 轴,将评级作为 Y 轴,但是它将年份显示为小数,例如年份“1998”显示为“1,998”。我希望年份可以正常显示,不带逗号。

这是我的轴和系列代码:

xAxis: {
    title: {
        type: 'datetime',
        text: 'Year',
    }
},
yAxis: {
    title: {
        text: 'Rating'
    }
},
series: [{
    data: [
    {% for item in graph_data %}
    {
        name: '{{item}}',
        x: {{item.year}},
        y: {{item.rating}}
    },
    {% endfor %}
    ]
}]

【问题讨论】:

    标签: javascript django highcharts django-templates


    【解决方案1】:

    如果您对系列中的数据点使用日期时间 x 和 y 的数组,则需要先使用 Date.UTC() 将时间转换为通用时间。而type 属性不在title 属性内。

    所以试试这个

    xAxis: {
        title: {
            text: 'Year',
        }
        type: 'datetime'
    },
    yAxis: {
        title: {
            text: 'Rating'
        }
    },
    series: [{
        data: [
        {% for item in graph_data %}
        {
            name: '{{item}}',
            x: Date.UTC({{item.year}}, month, date),
            y: {{item.rating}}
        },
        {% endfor %}
        ]
    }]
    

    小提琴:http://jsfiddle.net/6abdq/1/

    【讨论】:

    • 实际上是 x: Date.UTC({{item.year}},0,0),因为 {{item.year}} 调用了从 django 视图传递的变量。但是谢谢,让我失望的是 type: datetime was misplaced in the title bracket.
    • @user2027556 感谢您的指正。没太注意那部分。如果月份和日期是微不足道的,它实际上是 x:Date.UTC({{item.year}},0,1) 因为日期应该是 1 到 31 之间的整数
    【解决方案2】:

    你可以使用标签formatter和返回值,包括dateFormat

    【讨论】:

    • 标签格式化程序工作得很好。而且它似乎更容易使用。您能告诉我总体上哪种方式更好,还是取决于具体情况?
    • 通常格式化程序在代码中似乎更“用户友好”,对用户更透明,但这是我的看法。
    猜你喜欢
    • 1970-01-01
    • 2013-04-04
    • 1970-01-01
    • 1970-01-01
    • 2020-09-30
    • 1970-01-01
    • 1970-01-01
    • 2020-07-23
    • 1970-01-01
    相关资源
    最近更新 更多