Highcharts - 无法在具有负值的柱形图中设置x轴类别

时间:2014-07-06 13:03:29

标签: jquery highcharts

嗨我有一个负值的柱形图,显示错误的x轴类别值。我从服务器发送了一个预构建的JSON数组,但不管我能做什么都不能让x轴类别显示正确的值。

以下是代码:

     var chart_data = JSON.parse(data).avg_range;


                        console.log(chart_data.x_axes);

                        var safety_chart_average = {
                            chart: {
                                type: 'column',
                                renderTo: pattern + '-safety-mini-chart-section',
                                spacingRight: 20,
                                spacingLeft: 20,
                            },
                            rangeSelector: {
                                enabled: false
                            },
                            navigator: {
                                enabled: false
                            },
                            scrollbar: {
                                enabled: false
                            },
                            credits: {
                                enabled: false
                            },
                            title: {
                                text: "Avg Changes",
                                marginBottom: -10
                            },
                            xAxis: {
                                categories: chart_data.x_axes
                            },
                            series: chart_data.prices


 };

这就是我得到的

enter image description here

x轴显示错误的值,如上图所示。

console.log(chart_data.x_axes)给出了 ["Day 1", "Day 2", "Day 3"]应该是正确的x轴标签。

请告诉我如何修复此x轴标签错误。

2 个答案:

答案 0 :(得分:3)

Highstock包含所有Highcharts选项。您只需要更改构造函数。所以步骤:

  • 包括Highstock:<script scr="http://code.highcharts.com/stock/highstock.js"></script>
  • 当您需要Highstock时,请致电:new Highcharts.StockChart(options)
  • 当您需要Highcharts时,请致电:new Highcharts.Chart(options)

答案 1 :(得分:2)

您要将options发送给StockChart。如果你查看the API for xAxis on StockChart,就会发现它没有categories

如果您没有使用任何Highstock功能,我会转而使用new Highcharts.Chart代替常规的Highcharts图表。

如果您必须使用Highstock,则必须考虑其他替代方案,因为xAxis使用时间间隔。 This StackOverflow answer可能会给你一些希望,这取决于你在实施中如何使用Highstock。