0

我想让条形图从特定时间开始(1.Apr)

所以我在下面的示例中实现了这个:

(jsFiddle)轴右侧的示例,但条形图会消失吗

使用下面的代码

    yAxis: {
        type: 'datetime',
        min:Date.UTC(2010, 3, 1)
    },

yAxis 实际上从 1.Apr 开始,但我看不到条本身。

如果我将最小行标记如下

    yAxis: {
        type: 'datetime'
        //min:Date.UTC(2010, 3, 1)
    },

现在我可以看到栏出现了,但 yAxis 默认显示从 1.Jan 开始。

任何人都可以帮助我从 1.Apr 开始使栏可见和 yAxis 吗?

4

3 回答 3

1

我想我找到了你正在寻找的东西。

yAxis 中有一个名为 的选项min,它用于设置轴的最小值。像那样 :

yAxis: {
    type: 'datetime',                      
    min: Date.UTC(2010, 3, 1)
}

希望这是你正在寻找的。熊的礼物。

于 2015-07-01T08:33:08.060 回答
0

让我解释一下日期时间轴的工作原理。通常,日期时间轴基于自1970-01-01 00:00:00. 这意味着,设置y: 3600 * 1000会将列从 1970-01-01 00:00:00呈现到 1970-01-01 01:00:00。您想从 4 月 1 日开始图表,但您的数据并未反映这一点。换句话说,您需要提供此类信息,例如:

    series: [{
        name: 'UP',
        color: 'lime',
        data: [{
            x: 1,
            y: Date.UTC(2015, 5, 1, 1, 0, 0) // 2015-06-01 01:00:00
            // or:
            // y: 1433120400000 
            // is the same as above use for Date.UTC()
        }]
    }]

现场演示:http: //jsfiddle.net/v9582phy/4/

于 2015-07-06T07:19:53.050 回答
0

谢谢你的回复,很有帮助。我已经扩展了你的代码,进一步增强如下

yAxis: {
        type: 'datetime',            
        labels: {
            formatter: function () {
                 var x=new Date(Date.UTC(2015, 3, 1)+this.value*1000*60)                     
                 return moment(x).format('MMM/DD HH:mm:ss')
            }
        }
    },

系列数据为

   series: [{            
        data: [{
            status:'studying',
            color: 'lime',
            x: 1,
            y: 5
        }, {
            status:'playing guitar',
            color: 'yellow',
            x: 2,
            y: 10
        }, {
            status:'exam',
            color: 'red',
            x: 2,
            y: 23
        }]
    }]

我得到了堆积条,每个条显示持续状态的分钟数

现场演示:http: //jsfiddle.net/v9582phy/11/

于 2015-07-06T15:40:03.423 回答