Javascript x轴上显示的24小时图表

Javascript x轴上显示的24小时图表,javascript,highcharts,Javascript,Highcharts,我想展示24小时的工作日在海图上,在x轴上间隔1小时,在y轴上间隔7天 我如何让图表在午夜开始运行24小时 如下图所示,图表目前从上午8:00开始,一直持续到下午3:00。相反,我们希望它在上午12:00开始,晚上11:59结束 $(“#图”).高图({ 正在导出:{enabled:false}, 图表:{ 类型:“columnrange”, 倒过来:是的 }, 标题:{ 文本:“” }, 亚克斯:{ 键入:“日期时间”, 金额:24, 间隔时间:3600*1000, minTickInte

我想展示24小时的工作日在海图上,在x轴上间隔1小时,在y轴上间隔7天

我如何让图表在午夜开始运行24小时

如下图所示,图表目前从上午8:00开始,一直持续到下午3:00。相反,我们希望它在上午12:00开始,晚上11:59结束

$(“#图”).高图({
正在导出:{enabled:false},
图表:{
类型:“columnrange”,
倒过来:是的
},
标题:{
文本:“”
},
亚克斯:{
键入:“日期时间”,
金额:24,
间隔时间:3600*1000,
minTickInterval:3600*1000,
线宽:1,
日期时间标签格式:{
日期:'%H:%M'
},
标题:{
已启用:false
}
},
xAxis:{
类别:[‘星期日’、‘星期一’、‘星期二’、‘星期三’、‘星期四’、‘星期五’、‘星期六’]
},
图例:{
已启用:false
},
打印选项:{
系列:{
点宽度:10,
}
},
系列:[{
数据:[
{
x:0,,
低位:UTC日期(2010,1,1,9,0,0),
high:Date.UTC(2010年1月1日12日0月0日),
颜色:“蓝色”
}, {
x:0,,
低位:UTC日期(2010,1,1,12,30,0),
high:Date.UTC(2010,1,1,14,0,0),
颜色:“蓝色”
},
{
x:1,
低位:UTC日期(2010,1,2,9,0,0),
high:Date.UTC(2010,1,2,12,0,0),
颜色:“蓝色”
},
{
x:2,
低位:UTC日期(2010,1,3,9,0,0),
high:Date.UTC(2010年1月3日12月0日),
颜色:“蓝色”
},
{
x:3,
低位:UTC日期(2010,1,4,9,0,0),
high:Date.UTC(2010年1月4日12月0日),
颜色:“蓝色”
},
{
x:4,
低位:UTC日期(2010,1,5,9,0,0),
high:Date.UTC(2010年1月5日12月0日),
颜色:“蓝色”
},
{
x:5,
低位:UTC日期(2010,1,6,9,0,0),
high:Date.UTC(2010年1月6日12月0日),
颜色:“蓝色”
},
{
x:6,
低位:UTC日期(2010,1,7,9,0,0),
high:Date.UTC(2010年1月7日12月0日),
颜色:“蓝色”
},
]
}]
});

您可以使用yAxis.min和yAxis.max设置轴的最小值和最大值。您可以使用tickPositioner设置标签在轴上的位置:

yAxis:{
最小值:UTC日期(2010,0,1,0,0,0),
最大值:UTC日期(2010,0,2,0,0,0),
键入:“日期时间”,
定位器:函数(){
var info=this.tickPositions.info;
var头寸=[];

对于(i=Date.UTC(2010,0,1,0,0,0);i您可以使用yAxis.min和yAxis.max设置轴的最小值和最大值。您可以使用tickPositioner设置标签在轴上的位置:

yAxis:{
最小值:UTC日期(2010,0,1,0,0,0),
最大值:UTC日期(2010,0,2,0,0,0),
键入:“日期时间”,
定位器:函数(){
var info=this.tickPositions.info;
var头寸=[];

for(i=Date.UTC(2010,0,1,0,0,0);谢谢!这很有效。我们看到了一个不同问题/答案的答案,建议像你一样使用最小值和最大值。你能想到对最小值和最大值进行硬编码有什么负面影响吗?我意识到我的数据无效,因此将日期硬编码到最小值和最大值会导致图表无法绘制我的数据。是的,我没有我想,有时候最好在xAxis和yAxis中使用setextrems,因为在加载图表之前,您可能不知道要在图表中显示的范围。但在您的情况下,它应该是好的。我的示例对您有用吗?如果是,您能将我的答案标记为正确吗?对此有任何想法。tickPositions.info;我在中找不到这个Highcharts中的fo属性。它不是文档化的属性。但是,正如您可以在Highcharts代码中直接读取的那样:“//记录所选单元的信息-用于动态标签格式化程序”谢谢!这非常有效。我们看到了一个不同问题/答案的答案,建议像您一样使用最小值和最大值。您是否可以想到对最小值和最大值进行硬编码的负面影响?我意识到我的数据无效,因此将日期硬编码到最小值和最大值会导致图表无法绘制我的数据。是的,我认为有时最好在xAxis和yAxis中使用setextrems,因为在加载图表之前,您可能不知道要在图表中显示的范围。但在您的情况下应该可以。我的示例对您有用吗?如果是,您能将我的答案标记为正确吗?对此有任何想法。tickPositions.info;我找不到此信息pHighcharts中的属性。它不是文档化的属性。但是,正如您可以在Highcharts代码中直接读取的那样:“//记录所选单元的信息-用于动态标签格式化程序”
yAxis: {
  min: Date.UTC(2010, 0, 1, 0, 0, 0),
  max: Date.UTC(2010, 0, 2, 0, 0, 0),
  type: 'datetime',
  tickPositioner: function() {
    var info = this.tickPositions.info;
    var positions = [];
    for (i = Date.UTC(2010, 0, 1, 0, 0, 0); i <= Date.UTC(2010, 0, 2, 0, 0, 0); i += 3600 * 1000) {
      positions.push(i);
    }
    positions.info = info;
    return positions;
  },
  lineWidth: 1,
  dateTimeLabelFormats: {
    day: '%H:%M'
  },
  title: {
    enabled: false
  }
},