【问题标题】:Multiple xAxis on HighchartsHighcharts 上的多个 xAxis
【发布时间】:2014-08-26 18:37:52
【问题描述】:

我正在尝试使用 Highcharts 实现附加图表。我已经能够在我的图表上绘制带有线条的条形图。但我无法用日期和按月分组绘制多个 xAxis。有没有人实施过这样的图表。请帮忙

【问题讨论】:

    标签: jquery charts highcharts


    【解决方案1】:

    确实,您可以使用两个 xAxes,就像这样:http://jsfiddle.net/21g0hfo1/1/

        xAxis: [{
            type: 'datetime',
            labels: {
                formatter: function () {
                    return Highcharts.dateFormat("%e", this.value);
                }
            }
        }, {
            linkedTo: 0,
            type: 'datetime',
            tickLength: 0,
            lineWidth: 0,
            tickInterval: 30 * 24 * 3600 * 1000,
            labels: {
                formatter: function () {
                    return Highcharts.dateFormat("%b %e", this.value);
                }
            }
        }],
    

    我刚刚将第二个 xAxis 连接到第一个 xAxis,它们每个都有不同的标签格式化程序。

    【讨论】:

    • 有点,这就是我想要的。但是你知道我怎样才能得到开始系列的月份吗?在你的提琴手中,一月之前没有一个月,那是因为tickInterval。有什么办法可以显示上个月吗?
    • 随意发布你的例子:)
    【解决方案2】:

    我不确定您是否需要多个 xAxis,而是需要一个刻度标签格式化程序,它会更改每个月初的标签:

    var lastMonth = null;    
    $('#container').highcharts({
        xAxis: {
            type: 'datetime', 
            labels: {
                formatter: function () {
                    var thisMonth = Highcharts.dateFormat("%b", this.value);
                    if (lastMonth != thisMonth){
                        lastMonth = thisMonth;
                        return Highcharts.dateFormat("%b %e", this.value);
                    } else {
                        return Highcharts.dateFormat("%e", this.value);
                    }
                }
            }
        },
        ....
    

    产生这样的轴(小提琴here):

    【讨论】:

    • 我已经用格式化程序试过了。但我的要求略有不同。我希望我的日期按月分组。日期和月份都需要单独显示,如屏幕截图所示。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多