如何告诉Highcharts在x轴上设置日期,并使用一段时间(如1天)

如何告诉Highcharts在x轴上设置日期,并使用一段时间(如1天),highcharts,Highcharts,我试图理解这里的问题;我有一个数据文件,其中包含我的每个值的日期。当我在x轴上使用它时;结果是,我将使x轴均匀地分割值,因此,如果一个点在2:30 2:31,另一个点在2:32,那么这些值将并排均匀分布;虽然我希望x轴将根据第一个和最后一个日期进行分割(如有2天,则在2中分割,如果有3天,则在3中分割,依此类推) 相反,我想要一个基于一小时或一天的范围,看看有多少点适合这个范围。这是如何组织数据的示例: a,b,c,d 1.1,2.2,3.3,4.4 Jun 13 22:30, jun 13 2

我试图理解这里的问题;我有一个数据文件,其中包含我的每个值的日期。当我在x轴上使用它时;结果是,我将使x轴均匀地分割值,因此,如果一个点在2:30 2:31,另一个点在2:32,那么这些值将并排均匀分布;虽然我希望x轴将根据第一个和最后一个日期进行分割(如有2天,则在2中分割,如果有3天,则在3中分割,依此类推)

相反,我想要一个基于一小时或一天的范围,看看有多少点适合这个范围。这是如何组织数据的示例:

a,b,c,d
1.1,2.2,3.3,4.4
Jun 13 22:30, jun 13 23:02, Jun 13 23:05, Jun 14 1:10
我已经在x轴上将类型设置为datetime,第三行带有日期,分配给类别

编辑:

似乎问题在于日期格式;我成功地将字符串转换为日期

new Date(value) 
这将返回完整的日期格式:

星期三7月11日-001 17:32:10 GMT-0700(PDT)

奇怪的是,我设置为显示这个.x的工具提示显示的是从1到10的数字,而不是日期。不确定这是否是我无法使用上面示例中的数据绘制这样的图形的原因

编辑2: 多亏了塞巴斯蒂安和斯克拉姆的建议,我才得以做到这一点:


现在,这几乎把一切都做好了;除了如果我注释掉滴答声间隔,我将得到4个滴答声,每个滴答声一分(原始问题);如果我取消注释它;图表显示的是第一个日期,而不是其他日期。因此,经过大量的反复试验和建议(感谢塞巴斯蒂安和斯克拉姆),我们发现了问题所在

1) 您需要将日期转换为字符串,因为Highcharts希望以毫秒为单位显示日期,所以它们不起作用。除此之外,还必须设置xAxis
类型:“datetime”

2) 而在其他情况下,您可以将一组值放在一个数组中,将另一组值放在第二个数组中,并将它们作为类别和系列放置;处理日期时,需要一个带有(转换后的)日期和相关值的二维数组

3) 不得将数据分配给类别;否则,您将花费数小时试图找出它为什么不起作用。您只需要在数据中添加2D数组:它就可以工作了™


希望这能帮助别人;花了相当多的时间来解决这个问题,感谢其他成员让我更接近解决方案

尽量不要设置
类别
。根据我的记忆,当type=
datetime
试图不复制数组中的序列而不分配它时,您不需要将
categories
设置为任何值,并注释出类别:[],最后是一些结果。现在是从1月1日开始;并且以0为单位递增00:00:00:005;虽然它将图表按时间间隔进行划分,这使我更接近解决方案,但我认为您的下一步是将
datetime
s转换为Highcharts所喜欢的格式,例如Javascript的原生
Date
类。您可以这样做:
new Date(“jun 13 23:02”)
为您的x值,或者解析出组件并使用
new Date
,如图所示。您可以发布完整的JSFIDLE吗?我建议您使用开发工具(控制台),然后您将注意到出现的错误。见工作示例: