Javascript 在chartist.js中呈现Jira Agile Burndown? 问题

Javascript 在chartist.js中呈现Jira Agile Burndown? 问题,javascript,jira-agile,greenhopper,chartist.js,Javascript,Jira Agile,Greenhopper,Chartist.js,我使用来自jira的json数据来呈现项目的燃尽图。出于我不想讨论的原因,我不能使用内置的Jira敏捷图表。我正在使用chartist.js来渲染燃尽,但我遇到了麻烦,希望chartist.js用户能够提供帮助 我已经附上了我想要生成的图表的图像作为参考 问题 烧毁事件在一天中发生不止一次。每个人都有自己发生的时间。我不想显示x轴标签组中每次发生的具体时间。有没有一种方法可以将某一天的事件“分组”到某一特定的日子,但表明它们并不是同时发生的 我想创建一个燃尽“指南”(见附图中的灰线)。在给定的时

我使用来自jira的json数据来呈现项目的燃尽图。出于我不想讨论的原因,我不能使用内置的Jira敏捷图表。我正在使用chartist.js来渲染燃尽,但我遇到了麻烦,希望chartist.js用户能够提供帮助

我已经附上了我想要生成的图表的图像作为参考

问题
  • 烧毁事件在一天中发生不止一次。每个人都有自己发生的时间。我不想显示x轴标签组中每次发生的具体时间。有没有一种方法可以将某一天的事件“分组”到某一特定的日子,但表明它们并不是同时发生的
  • 我想创建一个燃尽“指南”(见附图中的灰线)。在给定的时间内,有没有一种简单的方法可以让一条线从顶部开始,在底部结束
  • 旁白 我一直很喜欢使用chartist.js,但我并不是为了我的项目而使用它,我可以使用任何我想要的图表库。我很乐意接受关于另一个图表库的建议,它可以满足我的需要


    尽管ChartList不直接支持创建基于时间的图表的方便API(这将很快实现),但我们添加了动态轴配置,允许您将标准X轴类型(基于步长)切换到更复杂的比例轴

    由于日期将被转换为数字,并且场景背后的数学是相同的,您可以非常轻松地创建基于时间的图表,只需一些手动工作。到目前为止,我们还没有基于时间框架的刻度生成器,但这将与时间轴一起出现,时间轴将很快在ChartList中创建

    要获取有关自定义轴配置的更多信息,您可以阅读以下文档:

    为了向您和其他人展示实现燃尽图是多么容易,我使用ChartList 0.9.1为您创建了一个燃尽图。我正在使用moment.js格式化日期

    以下是jsbin:

    var chart = new Chartist.Line('.ct-chart', {
      series: [{
        name: 'remaining',
        data: [
          {x: new Date(143134652600), y: 53},
          {x: new Date(143334652600), y: 40},
          {x: new Date(143354652600), y: 45},
          {x: new Date(143356652600), y: 41},
          {x: new Date(143366652600), y: 40},
          {x: new Date(143368652600), y: 38},
          {x: new Date(143378652600), y: 34},
          {x: new Date(143568652600), y: 32},
          {x: new Date(143569652600), y: 18},
          {x: new Date(143579652600), y: 11}
        ]
      }, {
        name: 'stories',
        data: [
          {x: new Date(143134652600), y: 53},
          {x: new Date(143334652600), y: 30},
          {x: new Date(143384652600), y: 30},
          {x: new Date(143568652600), y: 10}
        ]
      }]
    }, {
      axisX: {
        type: Chartist.FixedScaleAxis,
        divisor: 5,
        labelInterpolationFnc: function(value) {
          return moment(value).format('MMM D');
        }
      },
      axisY: {
        onlyInteger: true,
        low: 0
      },
      series: {
        remaining: {
          lineSmooth: Chartist.Interpolation.step(),
          showPoint: false
        },
        stories: {
          lineSmooth: false
        }
      }
    });