Charts 用于预览项目状态的甘特图

Charts 用于预览项目状态的甘特图,charts,highcharts,gantt-chart,Charts,Highcharts,Gantt Chart,那么,我如何在highcharts中实现这一点呢?有没有人对此有一个接近的JSFIDLE或代码 这是我到目前为止尝试过的代码,我应该更新什么来实现我的视觉 谢谢你的帮助!!提前谢谢 var projects = [{ name: 'Project 1', intervals: [] }, { name: 'Project 2', intervals: [{ // From-To pairs froam: Date.UTC(2010, 5, 21),

那么,我如何在highcharts中实现这一点呢?有没有人对此有一个接近的JSFIDLE或代码

这是我到目前为止尝试过的代码,我应该更新什么来实现我的视觉

谢谢你的帮助!!提前谢谢

var projects = [{
    name: 'Project 1',
    intervals: []
}, {
    name: 'Project 2',
    intervals: [{ // From-To pairs
        froam: Date.UTC(2010, 5, 21),
        to: Date.UTC(2015, 5, 21),
        label: 'Project 2',
        tooltip_data: 'this data'
    }]
}, {
    name: 'Project 3',
    intervals: [{ // From-To pairs
        from: Date.UTC(2011, 05, 16),
        to: Date.UTC(2012, 03, 21),
        label: 'Project 3',
        tooltip_data: 'this data'
    }, {
        from: Date.UTC(2013, 07, 09),
        to: Date.UTC(2015, 05, 22),
        label: 'Project 3',
        tooltip_data: 'this data'
    }]
}, {
    name: 'Project 9',
    intervals: [{ // From-To pairs
        from: Date.UTC(2013, 06, 17),
        to: Date.UTC(2014, 04, 21),
        label: 'Category 9',
        tooltip_data: 'this data'
    }, {
        from: Date.UTC(2015, 01, 22),
        to: Date.UTC(2015, 05, 22),
        label: 'Category 9',
        tooltip_data: 'this data'
    }]
}];

var series = [];
$.each(projects.reverse(), function (i, task) {
    var item = {
        name: task.name,
        data: []
    };
    $.each(projects.intervals, function (j, interval) {
        item.data.push({
            x: interval.from,
            y: i,
            label: interval.label,
            from: interval.from,
            to: interval.to,
            tooltip_data: interval.tooltip_data

        }, {
            x: interval.to,
            y: i,
            from: interval.from,
            to: interval.to,
            tooltip_data: interval.tooltip_data
        });

        // add a null value between intervals
        if (projects.intervals[j + 1]) {
            item.data.push(
                [(interval.to + projects.intervals[j + 1].from) / 2, null]
            );
        }

    });

    series.push(item);
});

// create the chart
var chart = new Highcharts.Chart({
    chart: {
        renderTo: 'aod-projectssummry-chart'
    },

    title: {
        text: 'Project History'
    },

    xAxis: {
        type: 'datetime'
    },

    yAxis: {
        visible : false,
        min: 0,
        max: 8,

        tickInterval: 1,
        tickPixelInterval: 200,
        labels: {
            style: {
                color: '#525151',
                font: '12px Helvetica',
                fontWeight: 'bold'
            },
            /* formatter: function() {
             if (tasks[this.value]) {
             return tasks[this.value].name;
             }
             }*/
        },
        startOnTick: false,
        endOnTick: false,
        title: {
            text: 'Criteria'
        },
        minPadding: 0.2,
        maxPadding: 0.2,
        fontSize: '15px'

    },

    legend: {
        enabled: false
    },
    tooltip: {
        formatter: function () {
            return '<b>' + tasks[this.y].name + '</b><br/>' + this.point.options.tooltip_data + '<br>' +
                Highcharts.dateFormat('%m-%d-%Y', this.point.options.from) +
                ' - ' + Highcharts.dateFormat('%m-%d-%Y', this.point.options.to);
        }
    },

    plotOptions: {
        line: {
            lineWidth: 10,
            marker: {
                enabled: false
            },
            dataLabels: {
                enabled: true,
                align: 'left',
                formatter: function () {
                    return this.point.options && this.point.options.label;
                }
            }
        }
    },

    series: series

});
var项目=[{
名称:“项目1”,
间隔:[]
}, {
名称:“项目2”,
间隔:[{//从到对
froam:Date.UTC(2010年5月21日),
截止日期:UTC(2015年5月21日),
标签:“项目2”,
工具提示\u数据:“此数据”
}]
}, {
名称:“项目3”,
间隔:[{//从到对
日期:UTC(2011年5月16日),
截止日期:UTC(2012年3月21日),
标签:“项目3”,
工具提示\u数据:“此数据”
}, {
日期:UTC(2013年7月9日),
截止日期:UTC(2015年5月22日),
标签:“项目3”,
工具提示\u数据:“此数据”
}]
}, {
名称:“项目9”,
间隔:[{//从到对
日期:UTC(2013年6月17日),
截止日期:UTC(2014年4月21日),
标签:“第9类”,
工具提示\u数据:“此数据”
}, {
日期:UTC(2015年1月22日),
截止日期:UTC(2015年5月22日),
标签:“第9类”,
工具提示\u数据:“此数据”
}]
}];
var系列=[];
$.each(projects.reverse(),函数(i,任务){
变量项={
name:task.name,
数据:[]
};
$.each(projects.interval,function(j,interval){
item.data.push({
x:interval.from,
y:我,
标签:interval.label,
from:interval.from,
to:interval.to,
工具提示\数据:间隔。工具提示\数据
}, {
x:interval.to,
y:我,
from:interval.from,
to:interval.to,
工具提示\数据:间隔。工具提示\数据
});
//在间隔之间添加空值
if(项目间隔[j+1]){
item.data.push(
[(interval.to+projects.interval[j+1].from)/2,空]
);
}
});
系列.推(项);
});
//创建图表
var图表=新的Highcharts.图表({
图表:{
renderTo:“aod项目图表”
},
标题:{
文本:“项目历史记录”
},
xAxis:{
键入:“日期时间”
},
亚克斯:{
可见:假,
分:0,,
最高:8,
时间间隔:1,
像素间隔:200,
标签:{
风格:{
颜色:'#525151',
字体:“12px Helvetica”,
fontWeight:“粗体”
},
/*格式化程序:函数(){
if(任务[this.value]){
返回任务[this.value].name;
}
}*/
},
startOnTick:错,
恩东蒂克:错,
标题:{
文本:“标准”
},
最小填充:0.2,
最大填充:0.2,
字体大小:“15px”
},
图例:{
已启用:false
},
工具提示:{
格式化程序:函数(){
返回'+tasks[this.y].name+'
'+this.point.options.tooltip_data+'
'+ Highcharts.dateFormat(“%m-%d-%Y”,this.point.options.from)+ “-”+Highcharts.dateFormat(“%m-%d-%Y”,this.point.options.to); } }, 打印选项:{ 行:{ 线宽:10, 标记:{ 已启用:false }, 数据标签:{ 启用:对, 对齐:“左”, 格式化程序:函数(){ 返回this.point.options&&this.point.options.label; } } } }, 系列:系列 });
请发布一些代码。到目前为止你试过什么?请描述您的具体问题,以便有人可以帮助您解决。@DevrajGadhavi我已经更新了它。这是一个默认图表-您可以使用不同或不同的散点来使用和添加自定义元素。若要请求新的Highcharts功能,请在上发布建议,或对已注册的功能进行投票。当前最热门的功能请求包括演示:thnks,用于所有4个回复!!请发一些代码。到目前为止你试过什么?请描述您的具体问题,以便有人可以帮助您解决。@DevrajGadhavi我已经更新了它。这是一个默认图表-您可以使用不同或不同的散点来使用和添加自定义元素。若要请求新的Highcharts功能,请在上发布建议,或对已注册的功能进行投票。当前最热门的功能请求包括演示:thnks,用于所有4个回复!!