在 highcharts 中格式化年份

Posted

技术标签:

【中文标题】在 highcharts 中格式化年份【英文标题】:Formatting the year in 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 %
    ]
]

【问题讨论】:

【参考方案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

【讨论】:

标签格式化程序工作得很好。而且它似乎更容易使用。您能告诉我总体上哪种方式更好,还是取决于具体情况? 通常格式化程序在代码中似乎更“用户友好”,对用户更透明,但这是我的看法。

以上是关于在 highcharts 中格式化年份的主要内容,如果未能解决你的问题,请参考以下文章

Highcharts:使用 JSON 数据创建多个系列,将我的月份和年份分组

位置刻度与数据相同 - highcharts

HIGHCHARTS:drilldown.js更改饼图标签颜色

1年的highcharts x轴显示年份+1的刻度/标签

HighCharts + xAxis 标签格式化程序

highcharts工具提示格式化程序:如何访问相邻点[重复]