Angular 在海图中制作时间线

Angular 在海图中制作时间线,angular,highcharts,Angular,Highcharts,我希望使用当前的稳定版本在Highcharts中创建一个时间表。我知道甘特图正在开发中,但它已经在Alpha中使用了很长一段时间,我正在考虑使用一些稳定的东西。有一个相关的问题,但小提琴在这个问题上已经不起作用了。此外,我将其集成到Angular 4项目中,使用它本身已经很长时间没有维护了 我想创建如下内容,但如果可以在当前构建中使用Highcharts或Highstocks来创建,我就不知所措了 小提琴代码: var today = new Date(), day = 1000 * 6

我希望使用当前的稳定版本在Highcharts中创建一个时间表。我知道甘特图正在开发中,但它已经在Alpha中使用了很长一段时间,我正在考虑使用一些稳定的东西。有一个相关的问题,但小提琴在这个问题上已经不起作用了。此外,我将其集成到Angular 4项目中,使用它本身已经很长时间没有维护了

我想创建如下内容,但如果可以在当前构建中使用Highcharts或Highstocks来创建,我就不知所措了

小提琴代码:

var today = new Date(),
    day = 1000 * 60 * 60 * 24;

// Set to 00:00:00:000 today
today.setUTCHours(0);
today.setUTCMinutes(0);
today.setUTCSeconds(0);
today.setUTCMilliseconds(0);
today = today.getTime();

// THE CHART
Highcharts.ganttChart('container', {
    title: {
        text: 'Gantt Chart Timeline'
    },
    xAxis: {
            type: 'datetime',
        min: today - 10 * day,
        max: today
    },

    /*
    plotOptions: {
        gantt: {
            pathfinder: {
                type: 'simpleConnect'
            }
        }
    },
    */

    series: [{
        name: 'State 1',
        data: [{
            taskName: 'System 1',
            start: today - 10 * day,
            end: today - 7 * day
        }, {
            taskName: 'System 2',
            start: today - 6 * day,
            end: today - 3 * day
        }, {
            taskName: 'System 3',
            start: today - 7 * day,
            end: today - 2 * day
        },{
            taskName: 'System 1',
            start: today - 3 * day,
            end: today - 0 * day
        }]
    }, {
        name: 'State 2',
        data: [{
            taskName: 'System 1',
            start: today - 7 * day,
            end: today - 3 * day
        }, {
            taskName: 'System 2',
            start: today - 10 * day,
            end: today - 6 * day
        }, {
            taskName: 'System 3',
            start: today - 2 * day,
            end: today - 0 * day
        }]
    }, {
        name: 'State 3',
        data: [{
            taskName: 'System 2',
            start: today - 3 * day,
            end: today - 0 * day
        }, {
            taskName: 'System 3',
            start: today - 10 * day,
            end: today - 7 * day
        }]
    }]
});
查看海图。我修改了数据系列,使之像时间线一样

Highcharts.chart('container', {
  chart: {
    type: 'xrange'
  },
  title: {
    text: 'Highcharts X-range'
  },
  xAxis: {
    type: 'datetime'
  },
  yAxis: {
    title: {
      text: ''
    },
    categories: ['Prototyping', 'Development', 'Testing'],
    reversed: true
  },
  plotOptions: {
    series: {
      dataLabels: {
        align: 'center',
        enabled: true,
        format: "{point.name}"
      }
    }
  },
  tooltip: {
    formatter: function() {
    console.log(this)
      return this.point.name+' is in <b>'+this.yCategory+'</b><br>  from <b>' + Highcharts.dateFormat('%e %b %Y',
          new Date(this.x)) +
        ' to '+ Highcharts.dateFormat('%e %b %Y',
                                          new Date(this.x2))+'</b> ';
    }
  },
  series: [{
    name: 'Project 1',
    pointWidth: 20,
    data: [{
      x: Date.UTC(2014, 10, 21),
      x2: Date.UTC(2014, 11, 1),
      y: 0,
      name: 'Proto1'
    }, {
      x: Date.UTC(2014, 11, 1),
      x2: Date.UTC(2014, 11, 5),
      y: 0,
      name: 'Proto2'
    }, {
      x: Date.UTC(2014, 11, 5),
      x2: Date.UTC(2014, 11, 10),
      y: 0,
      name: 'Proto3'
    }, {
      x: Date.UTC(2014, 10, 21),
      x2: Date.UTC(2014, 10, 25),
      y: 1,
      name: 'Dev1'
    }, {
      x: Date.UTC(2014, 10, 25),
      x2: Date.UTC(2014, 11, 5),
      y: 1,
      name: 'Dev2'
    }, {
      x: Date.UTC(2014, 11, 5),
      x2: Date.UTC(2014, 11, 10),
      y: 1,
       name: 'Dev3'
    }, {
      x: Date.UTC(2014, 10, 21),
      x2: Date.UTC(2014, 11, 1),
      y: 2,
      name: 'Test1'
    }, {
      x: Date.UTC(2014, 11, 1),
      x2: Date.UTC(2014, 11, 5),
      y: 2,
      name: 'Test2'
    }, {
      x: Date.UTC(2014, 11, 5),
      x2: Date.UTC(2014, 11, 10),
      y: 2,
      name: 'Test3'
    }, ],
    dataLabels: {
      enabled: true
    }
  }]

});

我以前试过x-range。问题是,我希望“州”有不同的颜色。我在中尝试使用x-range,但有两个问题,一个类别以交错的方式出现,尽管图例显示不同的颜色,但没有反映在一个类别中。请参阅我随附的甘特图了解差异。您可以使用
分组:false,
检查此Aaah!这就解决了问题。但另一件事仍然存在。更具体地说,我希望“Proto1”、“Dev2”、“Test3”具有相同的颜色。我可以在悬停在图例上过滤它们,但颜色不同。检查更新的小提琴真棒!不知道css控件。只有一件事。为什么要更改脚本位置?
.highcharts-series-0 .highcharts-point {
  fill: #7cb5ec;
  stroke: #7cb5ec;
}

.highcharts-series-1 .highcharts-point {
  fill: #434348;
  stroke: #434348;
}

.highcharts-series-2 .highcharts-point {
  fill: #90ed7d;
  stroke: #90ed7d;
}