【问题标题】:Highcharts : I am changing x-axis label, why are the label's not showing up?Highcharts:我正在更改 x 轴标签,为什么标签没有出现?
【发布时间】:2013-05-08 21:41:13
【问题描述】:

我正在更改我的 x 轴值的标签。尝试完成此操作后,没有显示 x 轴标签。

Javascript 代码

$(document).ready(function() {
var labels = [ '5/7','5/7','5/7','5/7','5/7','5/7','5/7','5/7','5/7','5/7' ];
chart = new Highcharts.Chart({
    chart: { renderTo:'chart_container' }, 
    title: { text: 'Rev Load' }, 
    xAxis: { categories: ['5/7 64298-R3', '5/7 64308-R3', '5/7 64311-R3', '5/7 64312-R3', '5/7 64302-R3', '5/7 64307-R3', '5/7 64309-R3', '5/7 64297-R3', '5/7 64310-R3', '5/7 64305-R3'], labels: { 
             formatter: function() { return labels[this.value];}  }, 
             tickInterval: 3 }, 
    yAxis: { max: 0.0018, min: 0.0014, plotLines: [{ color: 'red', dashStyle: 'shortDash', value: 0.0018, width: 2 }, { color: 'red', dashStyle: 'shortDash', value: 0.0014, width: 2 }], title: { text: '' } }, 
    series: [{ data: [0.00150, 0.00170, 0.00140, 0.00180, 0.00150, 0.00160, 0.00140, 0.00150, 0.00180, 0.00160], name: 'Values' }]
});

C# DotNet 代码

chart.SetXAxis(new XAxis
        {
            Categories = categories.ToArray(),
            TickInterval = 3,
            Labels = new XAxisLabels { Formatter = "function() { labels[this.value];} " }

        });

当前显示的屏幕截图

如屏幕截图所示,点的 x 轴标签缺失。

附:我指的不是 x 轴标题,而是 x-axis labels

背景信息

如果对问题有任何误解,请告诉我。感谢您的帮助和帮助!

编辑 - 我修复了缺少 return 关键字的问题,但它看起来仍然没有显示标签

【问题讨论】:

    标签: javascript highcharts dotnethighcharts


    【解决方案1】:

    你没有从你的标签格式化函数返回一个值——试试

    formatter: function() { return labels[this.value];}  }
    

    另一个问题是格式化函数中的this.value 类似于'5/7 64298-R3',所以labels[this.value] 是未定义的。

    您似乎正在尝试显示值的第一部分 - 如果是,请尝试:

    formatter: function() { return this.value.split(" ")[0]; }
    

    【讨论】:

    • 我已经修复了这个错误,因为我更新了我的帖子。但似乎标签仍未显示。
    • 更新了我的答案——传递给格式化程序函数的值不是索引。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-05
    • 1970-01-01
    • 2021-03-26
    • 1970-01-01
    • 2021-04-08
    相关资源
    最近更新 更多